13 files added
18 files modified
New file |
| | |
| | | #server配置 |
| | | server: |
| | | port: 9001 |
| | | |
| | | #spring配置 |
| | | spring: |
| | | application: |
| | | name: dyh-eureka |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: false |
| | | |
| | | #注册中心配置 |
| | | eureka: |
| | | client: |
| | | serviceUrl: |
| | | defaultZone: http://localhost:9001/eureka #集群部署,互相注册 |
| | | register-with-eureka: false #是否注册到注册中心 单点部署设置false 集群部署设置true |
| | | fetch-registry: false #是否从注册中心拉取注册服务列表 单点部署设置false 集群部署设置true |
| | | server: |
| | | enable-self-preservation: false #自我保护模式,打开坑比好处多,所以先关闭它 |
| | | eviction-interval-timer-in-ms: 5000 #主动清理无效节点的时间间隔 默认60000毫秒,即60秒 |
| | | renewal-threshold-update-interval-ms: 120000 #心跳阈值计算周期,单位毫秒,默认为15分钟,如果开启自我保护模式,可以改一下这个配置 |
| | | peer-node-read-timeout-ms: 500 #读取对等节点服务器复制的超时的时间,单位毫秒,默认为200 |
| | | useReadOnlyResponseCache: false #禁用readOnlyCacheMap |
| | | instance: |
| | | prefer-ip-address: true |
| | | instance-id: ${spring.cloud.client.ip-address}:${server.port} |
| | | #hostname: localhost |
| | | lease-renewal-interval-in-seconds: 5 # 心跳间隔时间(默认是30秒) |
| | | lease-expiration-duration-in-seconds: 15 # 没有心跳的淘汰时间间隔(默认是90秒) |
| | | status-page-url-path: /actuator/info #eureka注册中心的url link |
| | | health-check-url-path: /actuator/health #健康检查的url |
| | | |
New file |
| | |
| | | #server配置 |
| | | server: |
| | | port: 9001 |
| | | |
| | | #spring配置 |
| | | spring: |
| | | application: |
| | | name: dyh-eureka |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: false |
| | | |
| | | #注册中心配置 |
| | | eureka: |
| | | client: |
| | | serviceUrl: |
| | | defaultZone: http://localhost:9001/eureka #集群部署,互相注册 |
| | | register-with-eureka: false #是否注册到注册中心 单点部署设置false 集群部署设置true |
| | | fetch-registry: false #是否从注册中心拉取注册服务列表 单点部署设置false 集群部署设置true |
| | | server: |
| | | enable-self-preservation: false #自我保护模式,打开坑比好处多,所以先关闭它 |
| | | eviction-interval-timer-in-ms: 5000 #主动清理无效节点的时间间隔 默认60000毫秒,即60秒 |
| | | renewal-threshold-update-interval-ms: 120000 #心跳阈值计算周期,单位毫秒,默认为15分钟,如果开启自我保护模式,可以改一下这个配置 |
| | | peer-node-read-timeout-ms: 500 #读取对等节点服务器复制的超时的时间,单位毫秒,默认为200 |
| | | useReadOnlyResponseCache: false #禁用readOnlyCacheMap |
| | | instance: |
| | | prefer-ip-address: true |
| | | instance-id: ${spring.cloud.client.ip-address}:${server.port} |
| | | #hostname: localhost |
| | | lease-renewal-interval-in-seconds: 5 # 心跳间隔时间(默认是30秒) |
| | | lease-expiration-duration-in-seconds: 15 # 没有心跳的淘汰时间间隔(默认是90秒) |
| | | status-page-url-path: /actuator/info #eureka注册中心的url link |
| | | health-check-url-path: /actuator/health #健康检查的url |
| | | |
New file |
| | |
| | | #server配置 |
| | | server: |
| | | port: 9011 |
| | | |
| | | #spring配置 |
| | | spring: |
| | | application: |
| | | name: dyh-eureka |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: false |
| | | |
| | | #注册中心配置 |
| | | eureka: |
| | | client: |
| | | serviceUrl: |
| | | defaultZone: http://localhost:9011/eureka #集群部署,互相注册 |
| | | register-with-eureka: false #是否注册到注册中心 单点部署设置false 集群部署设置true |
| | | fetch-registry: false #是否从注册中心拉取注册服务列表 单点部署设置false 集群部署设置true |
| | | server: |
| | | enable-self-preservation: false #自我保护模式,打开坑比好处多,所以先关闭它 |
| | | eviction-interval-timer-in-ms: 5000 #主动清理无效节点的时间间隔 默认60000毫秒,即60秒 |
| | | renewal-threshold-update-interval-ms: 120000 #心跳阈值计算周期,单位毫秒,默认为15分钟,如果开启自我保护模式,可以改一下这个配置 |
| | | peer-node-read-timeout-ms: 500 #读取对等节点服务器复制的超时的时间,单位毫秒,默认为200 |
| | | useReadOnlyResponseCache: false #禁用readOnlyCacheMap |
| | | instance: |
| | | prefer-ip-address: true |
| | | instance-id: ${spring.cloud.client.ip-address}:${server.port} |
| | | #hostname: localhost |
| | | lease-renewal-interval-in-seconds: 5 # 心跳间隔时间(默认是30秒) |
| | | lease-expiration-duration-in-seconds: 15 # 没有心跳的淘汰时间间隔(默认是90秒) |
| | | status-page-url-path: /actuator/info #eureka注册中心的url link |
| | | health-check-url-path: /actuator/health #健康检查的url |
| | | |
New file |
| | |
| | | #spring配置 |
| | | spring: |
| | | profiles: |
| | | active: |
| | | # - dev |
| | | # - test |
| | | - prod |
| | | |
| | | #server配置 |
| | | server: |
| | | tomcat: |
| | | min-spare-threads: 100 |
| | | max-threads: 256 |
| | | connection-timeout: 8000 |
| | | servlet: |
| | | context-path: / |
| | | ssl: |
| | | enabled: false |
| | | |
| | | #management配置 |
| | | management: |
| | | endpoint: |
| | | health: |
| | | show-details: always |
| | | endpoints: |
| | | web: |
| | | exposure: |
| | | include: "*" |
| | | exclude: env,health |
| | | enabled-by-default: false |
| | | |
| | | eureka: |
| | | dashboard: |
| | | enabled: false |
New file |
| | |
| | | #server配置 |
| | | server: |
| | | port: 9002 |
| | | |
| | | #spring配置 |
| | | spring: |
| | | #服务名 |
| | | application: |
| | | name: dyh-gateway |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: false |
| | | |
| | | #注册中心配置 |
| | | eureka: |
| | | client: |
| | | service-url: |
| | | #注册中心单机 |
| | | defaultZone: http://localhost:9001/eureka |
| | | #注册中心集群 |
| | | #defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka |
| | | #是否注册到注册中心 |
| | | register-with-eureka: true |
| | | #是否从注册中心拉取注册服务列表 |
| | | fetch-registry: true |
| | | #首次注册时间 |
| | | initial-instance-info-replication-interval-seconds: 2 |
| | | #客户端定时刷新本地缓存时间 |
| | | registry-fetch-interval-seconds: 5 |
| | | instance: |
| | | prefer-ip-address: true |
| | | instance-id: ${spring.cloud.client.ip-address}:${server.port} |
| | | # 心跳时间,即服务续约间隔时间(缺省为30s) |
| | | lease-renewal-interval-in-seconds: 10 |
| | | # 发呆时间,即服务续约到期时间(缺省为90s) |
| | | lease-expiration-duration-in-seconds: 30 |
| | | |
| | | #ribbon配置 |
| | | ribbon: |
| | | #每台重试次数 |
| | | MaxAutoRetries: 2 |
| | | #最多重试多少台服务器 |
| | | MaxAutoRetriesNextServer: 3 |
| | | #serviceId路由时有效 |
| | | SocketTimeout: 3000 |
| | | #serviceId路由时有效 |
| | | ReadTimeout: 60000 |
| | | #Ribbon缓存时间 |
| | | ServerListRefreshInterval: 2000 |
| | | ConnectTimeout: 60000 |
| | | |
| | | #hystrix 熔断机制 |
| | | hystrix: |
| | | command: |
| | | default: |
| | | fallback: |
| | | enabled: true # 是否开启降级服务 |
| | | circuitBreaker: |
| | | enabled: true # 是否开启熔断 |
| | | requestCache: |
| | | enabled: false # 设置是否缓存请求,request-scope内缓存 |
| | | requestLog: |
| | | enabled: false # 设置HystrixCommand执行和事件是否打印到HystrixRequestLog中 |
| | | execution: |
| | | isolation: |
| | | thread: |
| | | timeoutInMilliseconds: 60000 #降级和熔断的超时时间 |
| | | |
New file |
| | |
| | | #server配置 |
| | | server: |
| | | port: 9002 |
| | | |
| | | #spring配置 |
| | | spring: |
| | | #服务名 |
| | | application: |
| | | name: dyh-gateway |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: false |
| | | |
| | | #注册中心配置 |
| | | eureka: |
| | | client: |
| | | service-url: |
| | | #注册中心单机 |
| | | defaultZone: http://10.202.1.73:9001/eureka |
| | | #注册中心集群 |
| | | #defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka |
| | | #是否注册到注册中心 |
| | | register-with-eureka: true |
| | | #是否从注册中心拉取注册服务列表 |
| | | fetch-registry: true |
| | | #首次注册时间 |
| | | initial-instance-info-replication-interval-seconds: 2 |
| | | #客户端定时刷新本地缓存时间 |
| | | registry-fetch-interval-seconds: 5 |
| | | instance: |
| | | prefer-ip-address: true |
| | | instance-id: ${spring.cloud.client.ip-address}:${server.port} |
| | | # 心跳时间,即服务续约间隔时间(缺省为30s) |
| | | lease-renewal-interval-in-seconds: 10 |
| | | # 发呆时间,即服务续约到期时间(缺省为90s) |
| | | lease-expiration-duration-in-seconds: 30 |
| | | |
| | | #ribbon配置 |
| | | ribbon: |
| | | #每台重试次数 |
| | | MaxAutoRetries: 2 |
| | | #最多重试多少台服务器 |
| | | MaxAutoRetriesNextServer: 3 |
| | | #serviceId路由时有效 |
| | | SocketTimeout: 3000 |
| | | #serviceId路由时有效 |
| | | ReadTimeout: 60000 |
| | | #Ribbon缓存时间 |
| | | ServerListRefreshInterval: 2000 |
| | | ConnectTimeout: 60000 |
| | | |
| | | #hystrix 熔断机制 |
| | | hystrix: |
| | | command: |
| | | default: |
| | | fallback: |
| | | enabled: true # 是否开启降级服务 |
| | | circuitBreaker: |
| | | enabled: true # 是否开启熔断 |
| | | requestCache: |
| | | enabled: false # 设置是否缓存请求,request-scope内缓存 |
| | | requestLog: |
| | | enabled: false # 设置HystrixCommand执行和事件是否打印到HystrixRequestLog中 |
| | | execution: |
| | | isolation: |
| | | thread: |
| | | timeoutInMilliseconds: 60000 #降级和熔断的超时时间 |
| | | |
New file |
| | |
| | | #server配置 |
| | | server: |
| | | port: 9002 |
| | | |
| | | #spring配置 |
| | | spring: |
| | | #服务名 |
| | | application: |
| | | name: dyh-gateway |
| | | datasource: |
| | | druid: |
| | | stat-view-servlet: |
| | | enabled: false |
| | | #注册中心配置 |
| | | eureka: |
| | | client: |
| | | service-url: |
| | | #注册中心单机 |
| | | defaultZone: http://10.202.1.75:9001/eureka |
| | | #注册中心集群 |
| | | #defaultZone: http://localhost:8761/eureka,http://localhost:8762/eureka |
| | | #是否注册到注册中心 |
| | | register-with-eureka: true |
| | | #是否从注册中心拉取注册服务列表 |
| | | fetch-registry: true |
| | | #首次注册时间 |
| | | initial-instance-info-replication-interval-seconds: 2 |
| | | #客户端定时刷新本地缓存时间 |
| | | registry-fetch-interval-seconds: 5 |
| | | instance: |
| | | prefer-ip-address: true |
| | | instance-id: ${spring.cloud.client.ip-address}:${server.port} |
| | | # 心跳时间,即服务续约间隔时间(缺省为30s) |
| | | lease-renewal-interval-in-seconds: 10 |
| | | # 发呆时间,即服务续约到期时间(缺省为90s) |
| | | lease-expiration-duration-in-seconds: 30 |
| | | |
| | | #ribbon配置 |
| | | ribbon: |
| | | #每台重试次数 |
| | | MaxAutoRetries: 2 |
| | | #最多重试多少台服务器 |
| | | MaxAutoRetriesNextServer: 3 |
| | | #serviceId路由时有效 |
| | | SocketTimeout: 3000 |
| | | #serviceId路由时有效 |
| | | ReadTimeout: 60000 |
| | | #Ribbon缓存时间 |
| | | ServerListRefreshInterval: 2000 |
| | | ConnectTimeout: 60000 |
| | | |
| | | #hystrix 熔断机制 |
| | | hystrix: |
| | | command: |
| | | default: |
| | | fallback: |
| | | enabled: true # 是否开启降级服务 |
| | | circuitBreaker: |
| | | enabled: true # 是否开启熔断 |
| | | requestCache: |
| | | enabled: false # 设置是否缓存请求,request-scope内缓存 |
| | | requestLog: |
| | | enabled: false # 设置HystrixCommand执行和事件是否打印到HystrixRequestLog中 |
| | | execution: |
| | | isolation: |
| | | thread: |
| | | timeoutInMilliseconds: 60000 #降级和熔断的超时时间 |
| | | |
New file |
| | |
| | | #spring配置 |
| | | spring: |
| | | profiles: |
| | | active: |
| | | # - dev |
| | | - test |
| | | # - prod |
| | | cloud: |
| | | gateway: |
| | | discovery: |
| | | locator: |
| | | enabled: true |
| | | lower-case-service-id: true |
| | | main: |
| | | allow-bean-definition-overriding: true |
| | | |
| | | #debug: true |
| | | server: |
| | | tomcat: |
| | | min-spare-threads: 100 |
| | | max-threads: 256 |
| | | connection-timeout: 8000 |
| | | servlet: |
| | | context-path: / |
| | | ssl: |
| | | enabled: false |
| | | |
| | | #management配置 |
| | | management: |
| | | endpoint: |
| | | health: |
| | | show-details: always |
| | | endpoints: |
| | | web: |
| | | exposure: |
| | | include: "*" |
| | | |
| | | #JWT配置 |
| | | jwt: |
| | | #jwt生成密钥 |
| | | secret-key: asdfghjkl |
| | | #用户 |
| | | iss-user: HUGEINFO |
| | | refresh-token-key: |
| | | #refreshToken 存储key |
| | | format: JWT_REFRESH_TOKEN::%s |
| | | blacklist-key: |
| | | #token黑名单 存储key |
| | | format: JWT_BLACKLIST::%s |
| | | token: |
| | | #token过期时间:12小时 |
| | | expire-time: 43200000 |
| | | refresh-token: |
| | | #refreshToken过期时间:13小时,比token时间长一点 |
| | | expire-time: 46800000 |
| | | #不进行token拦截 |
| | | auth-skip-urls: /dyh-cust/api/web/ctAccount/login,/dyh-sys/api/v1/sync/universalSync,/dyh-utils/api/web/caseUtils/getNewTimeId,/dyh-utils/api/web/caseUtils/getNewTimeCaseId,/dyh-sys/api/web/fileInfo/show,/dyh-sys/api/web/fileInfo/down,/dyh-sys/api/wechat/fileInfo/show,/dyh-sys/api/wechat/fileInfo/down,/dyh-cust/api/wechat/paAccount/empower,/dyh-cust/api/web/ctAccount/gridLogin,/dyh-mediate/api/web/caseInfo/exportQueryAll,/gzdyh-test-mediate/api/web/caseInfo/exportQueryAll,/gzdyh-mediate/api/web/caseInfo/exportQueryAll,/dyh-mediate/api/web/caseInfo/exportOverview,/gzdyh-mediate/api/web/caseInfo/exportOverview,/gzdyh-test-mediate/api/web/caseInfo/exportOverview,/dyh-mediate/api/web/caseInfo/exportStatisticsArea,/gzdyh-mediate/api/web/caseInfo/exportStatisticsArea,/gzdyh-test-mediate/api/web/caseInfo/exportStatisticsArea |
| | | |
| | |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | /** |
| | | * 获取两个时间的天数差 |
| | | * */ |
| | | public static Integer getDifferDay(Date time1,Date time2){ |
| | | if(ObjectUtils.isNotEmpty(time1) && ObjectUtils.isNotEmpty(time2)){ |
| | | long day = 1000 * 60 * 60 * 24; |
| | | long differ = time1.getTime() - time2.getTime(); |
| | | long housr = differ / day; |
| | | Integer diffDay = Integer.valueOf(String.valueOf(housr)); |
| | | return Math.abs(diffDay); |
| | | } |
| | | return 0; |
| | | } |
| | | } |
| | | /** |
| | | * -------------------_ooOoo_------------------- |
| | |
| | | } |
| | | |
| | | /** |
| | | * 工作统计 |
| | | * |
| | | * @return Object |
| | | * @url {ctx}/api/web/caseInfo/workStatistics |
| | | * @CurrentUser String userId |
| | | */ |
| | | @GetMapping("/workStatistics") |
| | | public Object workStatistics(@CurrentUser String userId) { |
| | | try { |
| | | Map<String, Object> terms = getParameterAll(); |
| | | //统计类型 1-个人,2-单位 |
| | | String workType = request.getParameter("workType"); |
| | | if (ObjectUtils.isNotEmpty(workType)) { |
| | | terms.put("workType", workType); |
| | | } |
| | | return ReturnSucUtils.getRepInfo("处理成功", service.workStatistics(terms, userId)); |
| | | } catch (Exception e) { |
| | | log.error("Controller接口[CaseInfoWebController.workStatistics]请求异常:" + e, e); |
| | | return ReturnFailUtils.getRepInfo(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 解纷态势 |
| | | * |
| | | * @return Object |
| | |
| | | } |
| | | |
| | | /** |
| | | * 设置请求参数 |
| | | * */ |
| | | private void setRequestParam(Map<String, Object> terms) { |
| | | String caseType = request.getParameter("caseType"); |
| | | if (StringUtils.isNotBlank(caseType)){ |
| | | terms.put("caseType", caseType); |
| | | } |
| | | String plaintiffs = request.getParameter("plaintiffs"); |
| | | if (StringUtils.isNotBlank(plaintiffs)){ |
| | | terms.put("plaintiffs", plaintiffs); |
| | | } |
| | | String defendants = request.getParameter("defendants"); |
| | | if (StringUtils.isNotBlank(defendants)){ |
| | | terms.put("defendants", defendants); |
| | | } |
| | | String canal = request.getParameter("canal"); |
| | | if (StringUtils.isNotBlank(canal)){ |
| | | terms.put("canal", canal); |
| | | } |
| | | String caseStatus = request.getParameter("caseStatus"); |
| | | if (StringUtils.isNotBlank(caseStatus)){ |
| | | terms.put("caseStatus", caseStatus); |
| | | } |
| | | String caseLevel = request.getParameter("caseLevel"); |
| | | if (StringUtils.isNotBlank(caseLevel)){ |
| | | terms.put("caseLevel", caseLevel); |
| | | } |
| | | String mediResult = request.getParameter("mediResult"); |
| | | if (StringUtils.isNotBlank(mediResult)){ |
| | | terms.put("mediResult", mediResult); |
| | | } |
| | | String handleTimeStart = request.getParameter("handleTimeStart"); |
| | | String handleTimeEnd = request.getParameter("handleTimeEnd"); |
| | | if (StringUtils.isNotBlank(handleTimeStart) && StringUtils.isNotBlank(handleTimeEnd)){ |
| | | terms.put("handleTimeStart", handleTimeStart); |
| | | terms.put("handleTimeEnd", handleTimeEnd); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端-工作台-查询全部待办任务 |
| | | * |
| | | * @param page 页码 |
| | | * @param size 每页数量 |
| | | * @param status 状态,1:待分派,2:已分派 |
| | | * @param sortType 排序方式(1:正序;2:倒序) |
| | | * @param sortColmn 排序字段(1:流转时间;2:分派时限/分派时间;3:事项等级;4:督办次数) |
| | | * @return |
| | | * @url {ctx}/api/web/caseTask/pageMyTaskAll |
| | | */ |
| | | @GetMapping("/pageMyTaskAll") |
| | | public Object pageMyTaskAll(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, |
| | | @RequestParam(value = "status") int status, @CurrentUser String userId, |
| | | @RequestParam(value = "sortType") int sortType, @RequestParam(value = "sortColmn") int sortColmn) { |
| | | try { |
| | | // 条件 |
| | | Map<String, Object> terms = Maps.newHashMap(); |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | terms.put("candeUnitId", loginUser.getUnitId()); |
| | | terms.put("status", status); |
| | | String partyName = request.getParameter("partyName"); |
| | | if (StringUtils.isNotBlank(partyName)){ |
| | | terms.put("partyName", partyName); |
| | | } |
| | | setRequestParam(terms); |
| | | // 排序 |
| | | Sort sort = Sort.by(Sort.Direction.DESC, "t1.create_time");; |
| | | PageRequest pageRequest = PageRequest.of(page - 1, size, sort); |
| | | return ReturnSucUtils.getRepInfo(service.pageMyTaskAll(pageRequest, terms)); |
| | | } catch (Exception e) { |
| | | log.error("Controller接口[CaseTaskWebController.pageMyTaskAll]请求异常:"+e, e); |
| | | return ReturnFailUtils.getRepInfo(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * web端-工作台-已办数量统计 |
| | | * @url {ctx}/api/web/caseTask/countYbTaskAll |
| | | */ |
| | | @GetMapping("/countYbTaskAll") |
| | | public Object countYbTaskAll(@RequestParam(value = "status") int status,@CurrentUser String userId) { |
| | | try { |
| | | // 条件 |
| | | Map<String, Object> terms = Maps.newHashMap(); |
| | | String partyName = request.getParameter("partyName"); |
| | | if (StringUtils.isNotBlank(partyName)){ |
| | | terms.put("partyName", partyName); |
| | | } |
| | | setRequestParam(terms); |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | terms.put("candeUnitId", loginUser.getUnitId()); |
| | | terms.put("status", status); |
| | | return ReturnSucUtils.getRepInfo(service.countYbTaskAll(terms)); |
| | | } catch (Exception e) { |
| | | log.error("Controller接口[CaseTaskWebController.countYbTaskAll]请求异常:"+e, e); |
| | | return ReturnFailUtils.getRepInfo(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * web端-工作台-查询待办任务-分派任务 |
| | | * |
| | | * @param page 页码 |
| | |
| | | terms.put("handleUnitId", loginUser.getUnitId()); |
| | | } |
| | | terms.put("status", status); |
| | | setRequestParam(terms); |
| | | // 排序 |
| | | Sort sort = null; |
| | | String sortName = null; |
| | |
| | | if (StringUtils.isNotBlank(partyName)) { |
| | | terms.put("partyName", partyName); |
| | | } |
| | | setRequestParam(terms); |
| | | CtUserDTO loginUser = custClient.clientGetUserAll(userId); |
| | | // 不予受理,查询case_dismiss表 |
| | | if (status == 3) { |
| | |
| | | terms.put("mediatorType", mediatorType); |
| | | terms.put("mediatorId", loginUser.getId()); |
| | | } |
| | | |
| | | setRequestParam(terms); |
| | | // 排序 |
| | | Sort sort = null; |
| | | String sortName = null; |
| | |
| | | if (StringUtils.isNotBlank(partyName)) { |
| | | terms.put("partyName", partyName); |
| | | } |
| | | setRequestParam(terms); |
| | | Sort sort = null; |
| | | String sortName = null; |
| | | switch (type) { |
| | |
| | | } |
| | | Sort sort = null; |
| | | String sortName = null; |
| | | setRequestParam(terms); |
| | | switch (sortColmn) { |
| | | case 1: |
| | | sortName = "t1.sup_time"; |
| | |
| | | */ |
| | | List<CaseStatisticsTypeDTO> countByCanalSecond(@Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 工作统计按时间分组 |
| | | * |
| | | * @param terms 包含统计条件的键值对,如时间范围 |
| | | * @return 返回一个对象,包含基础的案例统计数据 |
| | | */ |
| | | List<CaseWorkStatisticsTimeDTO> workStatisticsTime(@Param("terms") Map<String, Object> terms); |
| | | |
| | | } |
| | |
| | | FrontPageCountDTO countTaskList(@Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 全部查询 |
| | | * */ |
| | | List<FrontPageListAllDTO> pageMyTaskAll(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 全部查询统计 |
| | | * @param terms 条件 |
| | | * @return long |
| | | */ |
| | | long countMyTaskAll(@Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 首页-待/已分派条件统计 |
| | | * @param terms 条件 |
| | | * @return long |
| | |
| | | |
| | | int deleteCaseTaskByCaseId(@Param("caseId") String caseId,@Param("updateTime") Date updateTime); |
| | | |
| | | |
| | | /** |
| | | * 已办事项-已分派 |
| | | * @param terms 条件 |
| | | * @return long |
| | | */ |
| | | long countYbDispatch(@Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 已办事项-已分派 |
| | | * @param terms 条件 |
| | | * @return long |
| | | */ |
| | | long countYbAccept(@Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 已办事项-已分派 |
| | | * @param terms 条件 |
| | | * @return long |
| | | */ |
| | | long countYbClosed(@Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 已办事项-已审核数量 |
| | | * @param terms 条件 |
| | | * @return long |
| | | */ |
| | | long countYbAudit(@Param("terms") Map<String, Object> terms); |
| | | |
| | | /** |
| | | * 已办事项-督办数量 |
| | | * @param terms 条件 |
| | | * @return long |
| | | */ |
| | | long countYbSupervise(@Param("terms") Map<String, Object> terms); |
| | | |
| | | } |
| | |
| | | and (DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | | and DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </select> |
| | | <!-- 首页-待审核分页查询 --> |
| | |
| | | and (DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | | and DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | <if test="page.sort != null"> |
| | | <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> |
| | |
| | | and (DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.disTimeStart} |
| | | and DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.disTimeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </if> |
| | | </sql> |
| | | <!-- 首页-不予受理条件统计 --> |
| | |
| | | a.canal_second |
| | | </select> |
| | | |
| | | <!-- 统计分析(基础) --> |
| | | <select id="workStatisticsTime" resultType="cn.huge.module.cases.domain.dto.CaseWorkStatisticsTimeDTO"> |
| | | SELECT |
| | | count(1) as totalNum, |
| | | sum(case when b.medi_result = '22_00025-1' and a.info_process = 3 then 1 else 0 end) as resolveNum, |
| | | sum(case when a.info_process <![CDATA[ < ]]> 3 then 1 else 0 end) as resolveingNum, |
| | | sum(case when b.medi_result = '22_00025-2' and a.info_process = 3 then 1 else 0 end) as unResolveNum, |
| | | sum(case when a.case_level = 1 then 1 else 0 end) as oneLevelNum, |
| | | sum(case when a.case_level = 2 then 1 else 0 end) as twoLevelNum, |
| | | sum(case when a.case_level = 3 then 1 else 0 end) as threeLevelNum, |
| | | sum(case when a.info_process <![CDATA[ < ]]> 3 then 1 else 0 end) as processNum, |
| | | sum(case when a.info_process = 3 then 1 else 0 end) as finishNum, |
| | | <if test='terms.selectTimeType != null and terms.selectTimeType =="1"'> |
| | | DATE_FORMAT(a.create_time, '%Y-%m-%d') AS dayStr, |
| | | DATE_FORMAT(a.create_time, '%Y-%m') AS monthStr, |
| | | DATE_FORMAT(a.create_time, '%Y') AS year_str, |
| | | </if> |
| | | <if test='terms.selectTimeType != null and terms.selectTimeType =="2"'> |
| | | DATE_FORMAT(b.close_time, '%Y-%m-%d') AS dayStr, |
| | | DATE_FORMAT(b.close_time, '%Y-%m') AS monthStr, |
| | | DATE_FORMAT(b.close_time, '%Y') AS year_str, |
| | | </if> |
| | | sum(case when a.info_process = 4 then 1 else 0 end) as rejectNum |
| | | |
| | | |
| | | FROM |
| | | dyh_case_info a |
| | | inner JOIN dyh_case_info_unfold b on a.id = b.id |
| | | LEFT JOIN dyh_ct_unit c ON b.belong_unit_id = c.id |
| | | <include refid="where-part-all"/> |
| | | <if test='terms.timeType != null and terms.timeType =="3"'> |
| | | GROUP BY year_str |
| | | </if> |
| | | <if test='terms.timeType != null and terms.timeType =="2"'> |
| | | GROUP BY monthStr |
| | | </if> |
| | | <if test='terms.timeType != null and terms.timeType =="1"'> |
| | | GROUP BY dayStr |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | and (DATE_FORMAT(t1.return_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | | and DATE_FORMAT(t1.return_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | and (DATE_FORMAT(t1.return_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | | and DATE_FORMAT(t1.return_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | <if test="page.sort != null"> |
| | | <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> |
| | |
| | | <if test="terms.type != 3"> |
| | | and t1.quilt_unit_id = #{terms.quiltUnitId} |
| | | and t1.sup_status = #{terms.supStatus} |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | </if> |
| | | <if test="terms.type == 3"> |
| | | and t1.sup_unit_id = #{terms.supUnitId} |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | </if> |
| | | <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''"> |
| | | and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | <if test="terms.type != 3"> |
| | | and t1.quilt_unit_id = #{terms.quiltUnitId} |
| | | and t1.sup_status = #{terms.supStatus} |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | </if> |
| | | <if test="terms.type == 3"> |
| | | and t1.sup_unit_id = #{terms.supUnitId} |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | </if> |
| | | <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''"> |
| | | and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | <if test="page.sort != null"> |
| | | <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> |
| | | isnull(${s.property}), ${s.property} ${s.direction} |
| | |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | <if test="terms.status == 2"> |
| | | and t1.handle_result in (0, 1, 2) |
| | |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </if> |
| | | </sql> |
| | |
| | | and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart} |
| | | and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | |
| | | </if> |
| | | <if test='terms.mediatorType != null and terms.mediatorType =="2"'> |
| | | and t3.mediator_id is null |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </if> |
| | | </sql> |
| | |
| | | <update id="deleteCaseTaskByCaseId"> |
| | | update dyh_case_task set delete_status = 1,update_time = #{updateTime} where case_id = #{caseId} |
| | | </update> |
| | | |
| | | <sql id="where-select-task-all"> |
| | | <if test="terms != null"> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </if> |
| | | </sql> |
| | | |
| | | <sql id="select-task-all"> |
| | | SELECT |
| | | t1.id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | t1.create_time as turnaroundTime, |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | t1.handle_time as turnaroundTime, |
| | | </if> |
| | | t1.expire_time as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | '' as taskType, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | '待分派' as taskTypeName |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | '已分派' as taskTypeName |
| | | </if> |
| | | FROM |
| | | dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | (t1.node_id = 'ZJ_DFP' or t1.node_id = 'QJ_DFP' or t1.node_id = 'SJ_DFP' or t1.node_id = 'DFP') |
| | | and t1.case_task_type = 1 |
| | | and t2.delete_status = 0 |
| | | and t1.status = #{terms.status} |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | and t1.cande_unit_id = #{terms.candeUnitId} |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | and t1.handle_unit_id = #{terms.candeUnitId} |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT |
| | | t1.id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | t1.create_time as turnaroundTime, |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | t1.handle_time as turnaroundTime, |
| | | </if> |
| | | t1.expire_time as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | '' as taskType, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | '待受理' as taskTypeName |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | '已受理' as taskTypeName |
| | | </if> |
| | | FROM |
| | | dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | (t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id = 'DSL') |
| | | and t2.delete_status = 0 |
| | | and t1.status = 1 |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | and t1.cande_unit_id = #{terms.candeUnitId} |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | and t1.handle_unit_id = #{terms.candeUnitId} |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | UNION ALL |
| | | SELECT |
| | | t1.case_task_id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk, |
| | | t1.dis_time as turnaroundTime, |
| | | null as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | '' as taskType, |
| | | '不已受理' as taskTypeName |
| | | FROM |
| | | dyh_case_dismiss t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where t2.delete_status = 0 |
| | | and t1.dis_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | </if> |
| | | |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | UNION ALL |
| | | SELECT |
| | | t1.id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk, |
| | | t1.create_time as turnaroundTime, |
| | | t1.expire_time as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | 'sxbl' as taskType, |
| | | '办理中' as taskTypeName |
| | | FROM |
| | | dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id |
| | | left join dyh_case_info_unfold t3 on t1.case_id = t3.id |
| | | where |
| | | t1.node_id = 'BLFK' |
| | | and t1.status = 1 |
| | | and t2.delete_status = 0 |
| | | and t1.cande_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT |
| | | t1.case_task_id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk, |
| | | t1.apply_time as turnaroundTime, |
| | | null as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.id and sup_status = 0) as superviseCount, |
| | | 'sxbl' as taskType, |
| | | '结案申请' as taskTypeName |
| | | FROM dyh_case_windup_apply t1 left join dyh_case_info t2 on t1.case_id = t2.id |
| | | left join dyh_case_info_unfold t3 on t3.id = t2.id |
| | | where |
| | | t1.apply_status = 0 |
| | | and t2.delete_status = 0 |
| | | and (t1.apply_unit_id = #{terms.candeUnitId} or t3.assist_unit_id like concat('%', #{terms.candeUnitId}, '%')) |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | UNION ALL |
| | | SELECT |
| | | t3.case_task_id as ownerId, t1.id as caseId, t2.is_risk as isRisk, |
| | | t2.close_time as turnaroundTime, |
| | | null as timeLimit, |
| | | t1.case_level as caseGrade, t1.canal_name as caseSource, concat_ws('', ifnull(t1.case_type_first_name, ''), '/' , ifnull(t1.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.id and sup_status = 0) as superviseCount, |
| | | 'sxbl' as taskType, |
| | | '已结案' as taskTypeName |
| | | from dyh_case_info t1 |
| | | left join dyh_case_info_unfold t2 on t1.id = t2.id |
| | | left join dyh_case_windup_apply t3 on t1.id = t3.case_id |
| | | where t1.process in (5, 6) |
| | | and t1.delete_status = 0 |
| | | and (t2.mediate_unit_id = #{terms.candeUnitId} or t2.assist_unit_id like concat('%', #{terms.candeUnitId}, '%')) |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, ''), ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) like concat('%', #{terms.partyName}, '%') or t1.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t1.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t1.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t1.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t1.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t1.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t1.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t2.medi_result = #{terms.mediResult} |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t2.close_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t2.close_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | </if> |
| | | UNION ALL |
| | | SELECT |
| | | t1.case_task_id as ownerId, t1.case_id as caseId,t3.is_risk as isRisk, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | t1.return_time as turnaroundTime, |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | t1.audit_time as turnaroundTime, |
| | | </if> |
| | | null as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | 'htsh' as taskType, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | '待审核' as taskTypeName |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | '已审核' as taskTypeName |
| | | </if> |
| | | FROM |
| | | dyh_case_return t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | and t1.return_status = 0 |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | and t1.return_status = 1 |
| | | </if> |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.case_task_id as ownerId, t1.case_id as caseId,t3.is_risk as isRisk, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | t1.appear_time as turnaroundTime, |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | t1.audit_time as turnaroundTime, |
| | | </if> |
| | | null as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | 'sbsh' as taskType, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | '待审核' as taskTypeName |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | '已审核' as taskTypeName |
| | | </if> |
| | | FROM |
| | | dyh_case_appear t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | and t1.apply_status = 0 |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | and t1.apply_status = 1 |
| | | </if> |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.case_task_id as ownerId, t1.case_id as caseId,t3.is_risk as isRisk, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | t1.apply_time as turnaroundTime, |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | t1.audit_time as turnaroundTime, |
| | | </if> |
| | | null as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, |
| | | concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | 'jash' as taskType, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | '待审核' as taskTypeName |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | '已审核' as taskTypeName |
| | | </if> |
| | | FROM |
| | | dyh_case_windup_apply t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | and t1.apply_status = 0 |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | and t1.apply_status = 1 |
| | | </if> |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.id as ownerId, t1.case_id as CaseId, t3.is_risk as isRisk, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | t1.apply_time as turnaroundTime, |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | t1.audit_time as turnaroundTime, |
| | | </if> |
| | | null as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, |
| | | concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | (select count(1) from dyh_case_supervise where case_id = t1.case_id and sup_status = 0) as superviseCount, |
| | | 'lhczsh' as taskType, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | '待审核' as taskTypeName |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | '已审核' as taskTypeName |
| | | </if> |
| | | FROM |
| | | dyh_case_assist_apply t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | and t1.apply_status = 0 |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | and t1.apply_status = 1 |
| | | </if> |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.id as ownerId, t1.case_id as caseId,t3.is_risk as isRisk, |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | t1.sup_time as turnaroundTime, |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | t1.reply_time as turnaroundTime, |
| | | </if> |
| | | DATEADD(hour, t1.reply_term, t1.sup_time) as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, |
| | | concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | 0 as superviseCount, |
| | | '' as taskType, |
| | | '督办' as taskTypeName |
| | | FROM |
| | | dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | <if test="terms.status != null and terms.status ==1"> |
| | | and t1.sup_status = 0 |
| | | </if> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | and t1.sup_status = 1 |
| | | </if> |
| | | and t1.quilt_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | <if test="terms.status != null and terms.status ==2"> |
| | | UNION ALL |
| | | SELECT t1.id as ownerId, t1.case_id as caseId,t3.is_risk as isRisk, |
| | | t1.sup_time as turnaroundTime, |
| | | DATEADD(hour, t1.reply_term, t1.sup_time) as timeLimit, |
| | | t2.case_level as caseGrade, t2.canal_name as caseSource, |
| | | concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, |
| | | concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants, |
| | | 0 as superviseCount, |
| | | '' as taskType, |
| | | '督办' as taskTypeName |
| | | FROM |
| | | dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | and t1.sup_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | </if> |
| | | </sql> |
| | | |
| | | <select id="pageMyTaskAll" resultType="cn.huge.module.cases.domain.dto.FrontPageListAllDTO"> |
| | | select * from |
| | | (<include refid="select-task-all"/>) t where 1=1 |
| | | order by isnull(t.turnaroundTime), t.turnaroundTime desc |
| | | limit #{page.offset}, #{page.size} |
| | | </select> |
| | | |
| | | <select id="countMyTaskAll" resultType="java.lang.Long"> |
| | | select count(1) from |
| | | (<include refid="select-task-all"/>) t |
| | | </select> |
| | | |
| | | <select id="countYbDispatch" resultType="java.lang.Long"> |
| | | select count(1) from |
| | | (SELECT |
| | | t1.id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | (t1.node_id = 'ZJ_DFP' or t1.node_id = 'QJ_DFP' or t1.node_id = 'SJ_DFP' or t1.node_id = 'DFP') |
| | | and t1.case_task_type = 1 |
| | | and t2.delete_status = 0 |
| | | and t1.status = #{terms.status} |
| | | and t1.handle_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | ) t |
| | | </select> |
| | | |
| | | <select id="countYbAccept" resultType="java.lang.Long"> |
| | | select count(1) from |
| | | (SELECT |
| | | t1.id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | (t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id = 'DSL') |
| | | and t2.delete_status = 0 |
| | | and t1.status = 1 |
| | | and t1.handle_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT |
| | | t1.case_task_id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_dismiss t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where t2.delete_status = 0 |
| | | and t1.dis_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.dis_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | ) t |
| | | </select> |
| | | |
| | | <select id="countYbClosed" resultType="java.lang.Long"> |
| | | select count(1) from |
| | | (SELECT |
| | | t3.case_task_id as ownerId, t1.id as caseId |
| | | from dyh_case_info t1 |
| | | left join dyh_case_info_unfold t2 on t1.id = t2.id |
| | | left join dyh_case_windup_apply t3 on t1.id = t3.case_id |
| | | where t1.process in (5, 6) |
| | | and t1.delete_status = 0 |
| | | and (t2.mediate_unit_id = #{terms.candeUnitId} or t2.assist_unit_id like concat('%', #{terms.candeUnitId}, '%')) |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t1.plaintiffs, ''), ifnull(t1.pagents, ''), ifnull(t1.defendants, ''), ifnull(t1.dagents, '')) like concat('%', #{terms.partyName}, '%') or t1.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t2.close_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t2.close_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t1.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t1.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t1.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t1.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t1.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t1.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t2.medi_result = #{terms.mediResult} |
| | | </if> |
| | | ) t |
| | | </select> |
| | | |
| | | <select id="countYbAudit" resultType="java.lang.Long"> |
| | | select count(1) from |
| | | ( |
| | | SELECT |
| | | t1.case_task_id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_return t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | and t1.return_status = 1 |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.case_task_id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_appear t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | and t1.apply_status = 1 |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.case_task_id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_windup_apply t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | and t1.apply_status = 1 |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.id as ownerId, t1.case_id as CaseId |
| | | FROM |
| | | dyh_case_assist_apply t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | and t1.apply_status = 1 |
| | | and t1.audit_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | ) t |
| | | </select> |
| | | <select id="countYbSupervise" resultType="java.lang.Long"> |
| | | select count(1) from |
| | | ( |
| | | SELECT t1.id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | and t1.sup_status = 1 |
| | | and t1.quilt_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.reply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | UNION ALL |
| | | SELECT t1.id as ownerId, t1.case_id as caseId |
| | | FROM |
| | | dyh_case_supervise t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | where |
| | | t1.delete_status = 0 |
| | | and t1.sup_unit_id = #{terms.candeUnitId} |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.sup_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <include refid="where-select-task-all"/> |
| | | ) t |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | and (DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | | and DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | </select> |
| | | <!-- 首页-待审核分页查询 --> |
| | |
| | | and (DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart} |
| | | and DATE_FORMAT(t1.apply_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd}) |
| | | </if> |
| | | <if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''"> |
| | | and (DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart} |
| | | and DATE_FORMAT(t1.audit_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd}) |
| | | </if> |
| | | <if test="terms.partyName != null and terms.partyName !=''"> |
| | | and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') |
| | | and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%')) |
| | | </if> |
| | | <if test="terms.caseType != null and terms.caseType !=''"> |
| | | and t2.case_type = #{terms.caseType} |
| | | </if> |
| | | <if test="terms.plaintiffs != null and terms.plaintiffs !=''"> |
| | | and t2.plaintiffs like concat('%', #{terms.plaintiffs}, '%') |
| | | </if> |
| | | <if test="terms.defendants != null and terms.defendants !=''"> |
| | | and t2.defendants like concat('%', #{terms.defendants}, '%') |
| | | </if> |
| | | <if test="terms.canal != null and terms.canal !=''"> |
| | | and t2.canal = #{terms.canal} |
| | | </if> |
| | | <if test="terms.caseStatus != null and terms.caseStatus !=''"> |
| | | and t2.status = #{terms.caseStatus} |
| | | </if> |
| | | <if test="terms.caseLevel != null and terms.caseLevel !=''"> |
| | | and t2.case_level = #{terms.caseLevel} |
| | | </if> |
| | | <if test="terms.mediResult != null and terms.mediResult !=''"> |
| | | and t3.medi_result = #{terms.mediResult} |
| | | </if> |
| | | <if test="page.sort != null"> |
| | | <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> |
| | |
| | | * 纠纷任务编号 |
| | | * */ |
| | | private String caseTaskId; |
| | | /** |
| | | * 承办部门 |
| | | * */ |
| | | private String mediateUnitName; |
| | | |
| | | } |
| | |
| | | @Data |
| | | public class CaseStatisticsBaseDTO { |
| | | private Integer totalNum=0;//总记录数 |
| | | // private Integer processNum=0;//办理中数量 |
| | | // private Integer finishNum=0;//已结案数量 |
| | | // private Integer rejectNum=0;//不予受理数量 |
| | | // private Integer resolveNum=0;//化解成功数量 |
| | | // private String resolveRate;//化解成功率 |
| | | // private Integer unResolveNum=0;//化解不成功数量 |
| | | // private String unResolveRate;//化解不成功率 |
| | | // private Integer resolveingNum=0;//化解中数量 |
| | | // private String resolveingRate;//化解中率 |
| | | private Integer rejectNum=0;//不予受理数量 |
| | | private Integer processNum=0;//办理中数量 |
| | | private Integer finishNum=0;//已结案数量 |
| | | private Integer rejectNum=0;//不予受理数量 |
| | | private Integer resolveNum=0;//化解成功数量 |
| | | private String resolveRate;//化解成功率 |
| | | private Integer unResolveNum=0;//化解不成功数量 |
| | | private String unResolveRate;//化解不成功率 |
| | | private Integer resolveingNum=0;//化解中数量 |
| | | private String resolveingRate;//化解中率 |
| | | // private Integer rejectNum=0;//不予受理数量 |
| | | private String rejectRate;//不予受理率 |
| | | private Integer processNum=0;//化解中数量 |
| | | // private Integer processNum=0;//化解中数量 |
| | | private String processRate;//化解中率 |
| | | private Integer finishNum=0;//化解成功数量 |
| | | // private Integer finishNum=0;//化解成功数量 |
| | | private String finishRate;//化解成功率 |
| | | private Integer failNum=0;//化解不成功数量 |
| | | private String failRate;//化解不成功率 |
| | | |
| | | private Integer toDayTotalNum=0;//今日新增总记录数 |
| | | private Integer toDayProcessNum=0;//今日新增化解中数 |
| | | private Integer toDayRejectNum=0;//今日新增不予受理数量 |
| | | private Integer toDayFinishNum=0;//今日新增已结案数量 |
| | | |
| | | private Integer oneLevelNum=0;//1级事件数量 |
| | | private Integer twoLevelNum=0;//2级事件数量 |
| | | private Integer threeLevelNum=0;//3级事件数量 |
New file |
| | |
| | | package cn.huge.module.cases.domain.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhouxiantao |
| | | * @create 2025-04-22 15:11 |
| | | */ |
| | | @Data |
| | | public class CaseWorkStatisticsBaseDTO { |
| | | private Integer totalNum=0;//总记录数 |
| | | private Integer processNum=0;//办理中数量 |
| | | private Integer finishNum=0;//已结案数量 |
| | | private Integer rejectNum=0;//不予受理数量 |
| | | private Integer resolveNum=0;//化解成功数量 |
| | | private String resolveRate;//化解成功率 |
| | | private Integer unResolveNum=0;//化解不成功数量 |
| | | private String unResolveRate;//化解不成功率 |
| | | private Integer resolveingNum=0;//化解中数量 |
| | | private String resolveingRate;//化解中率 |
| | | |
| | | private Integer toDayTotalNum=0;//今日新增总记录数 |
| | | private Integer toDayProcessNum=0;//今日新增化解中数 |
| | | private Integer toDayRejectNum=0;//今日新增不予受理数量 |
| | | private Integer toDayFinishNum=0;//今日新增已结案数量 |
| | | |
| | | private String momType;//0-不显示,1-月环比,2-年环比 |
| | | private String momTotalRate;//总记录数(月环比) |
| | | private String yoyTotalRate;//总记录数(月同比) |
| | | private String momProcessRate;//化解中数量(月环比) |
| | | private String yoyProcessRate;//化解中数量(月同比) |
| | | private String momRejectRate;//不予受理数量(月环比) |
| | | private String yoyRejectRate;//不予受理数量(月同比) |
| | | private String momFinishNumRate;//已结案数量(月环比) |
| | | private String yoyFinishNumRate;//已结案数量(月同比) |
| | | private String momResolveRate;//化解成功率(月环比) |
| | | private String yoyResolveRate;//化解成功率(月环比) |
| | | |
| | | private List<CaseStatisticsTypeDTO> typeList;//纠纷类型集合 |
| | | private List<CaseWorkStatisticsTimeDTO> timeList;//时间集合 |
| | | } |
New file |
| | |
| | | package cn.huge.module.cases.domain.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author zhouxiantao |
| | | * @create 2025-04-23 11:03 |
| | | */ |
| | | @Data |
| | | public class CaseWorkStatisticsTimeDTO { |
| | | private Integer totalNum=0;//总记录数 |
| | | private Integer processNum=0;//办理中数量 |
| | | private Integer finishNum=0;//已结案数量 |
| | | private Integer rejectNum=0;//不予受理数量 |
| | | private Integer resolveNum=0;//化解成功数量 |
| | | private String resolveRate;//化解成功率 |
| | | private Integer unResolveNum=0;//化解不成功数量 |
| | | private String unResolveRate;//化解不成功率 |
| | | private Integer resolveingNum=0;//化解中数量 |
| | | private String resolveingRate;//化解中率 |
| | | private String dayStr;//天字符串(yyyy-mm-dd) |
| | | private String monthStr;//月字符串(yyyy-mm) |
| | | private String yearStr;//年字符串(yyyy) |
| | | private String timeStr;//前端展示使用 |
| | | private String timeAllStr;//前端展示使用(全部展示) |
| | | private Integer sort;//排序 |
| | | |
| | | } |
New file |
| | |
| | | package cn.huge.module.cases.domain.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author zhouxiantao |
| | | * @create 2025-05-21 15:12 |
| | | */ |
| | | @Data |
| | | public class CaseYbCountDTO { |
| | | /** |
| | | * 全部已办数量 |
| | | * */ |
| | | private Long allYbTask; |
| | | /** |
| | | * 已合并数量 |
| | | * */ |
| | | private Long ybMerge; |
| | | /** |
| | | * 已分派数量 |
| | | * */ |
| | | private Long ybDispatch; |
| | | /** |
| | | * 受理数量 |
| | | * */ |
| | | private Long ybAccept; |
| | | /** |
| | | * 已结案数量 |
| | | * */ |
| | | private Long ybClosed; |
| | | /** |
| | | * 已审核数量 |
| | | * */ |
| | | private Long ybAudit; |
| | | /** |
| | | * 督办数量 |
| | | * */ |
| | | private Long ybSupervise; |
| | | |
| | | } |
New file |
| | |
| | | package cn.huge.module.cases.domain.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author zhouxiantao |
| | | * @create 2025-04-15 15:55 |
| | | */ |
| | | @Data |
| | | public class FrontPageListAllDTO { |
| | | /** |
| | | * 所属业务表编号 |
| | | */ |
| | | private String ownerId; |
| | | |
| | | /** |
| | | * 纠纷信息ID |
| | | */ |
| | | private String caseId; |
| | | |
| | | /** |
| | | * 风险案件标签,0:非风险案件,1:风险案件 |
| | | */ |
| | | private String isRisk; |
| | | |
| | | /** |
| | | * 流转时间 |
| | | */ |
| | | @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8") |
| | | private Date turnaroundTime; |
| | | |
| | | /** |
| | | * 分派时限 |
| | | */ |
| | | @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8") |
| | | private Date timeLimit; |
| | | |
| | | /** |
| | | * 事项等级 |
| | | */ |
| | | private Integer caseGrade; |
| | | |
| | | /** |
| | | * 事项来源 |
| | | */ |
| | | private String caseSource; |
| | | /** |
| | | * 纠纷类型 |
| | | */ |
| | | private String caseType; |
| | | |
| | | /** |
| | | * 申请方 |
| | | */ |
| | | private String plaintiffs; |
| | | |
| | | /** |
| | | * 被申请方 |
| | | */ |
| | | private String defendants; |
| | | |
| | | /** |
| | | * 督办次数 |
| | | */ |
| | | private int superviseCount; |
| | | /** |
| | | * 类型编码 |
| | | * */ |
| | | private String taskType; |
| | | /** |
| | | * 类型名称 |
| | | * */ |
| | | private String taskTypeName; |
| | | |
| | | } |
| | |
| | | QueryWrapper<CaseInfoUnfold> caseInfoUnfoldQueryWrapper = new QueryWrapper<>(); |
| | | caseInfoUnfoldQueryWrapper.eq("id", caseFeedback.getCaseId()); |
| | | CaseInfoUnfold caseInfoUnfold = unfoldService.getOne(caseInfoUnfoldQueryWrapper); |
| | | if (caseInfoUnfold.getMediateUnitId() == null && caseInfoUnfold.getMediateUnitId().equals(loginUser.getUnitId())) { |
| | | if (caseInfoUnfold.getMediateUnitId() != null && caseInfoUnfold.getMediateUnitId().equals(loginUser.getUnitId())) { |
| | | caseFeedback.setHandleType(CaseTaskConsts.HANDLE_TYPE_1); |
| | | } else { |
| | | caseFeedback.setHandleType(CaseTaskConsts.HANDLE_TYPE_2); |
| | |
| | | import cn.huge.module.cases.domain.po.*; |
| | | import cn.huge.module.cases.domain.vo.CaseVo; |
| | | import cn.huge.module.cases.domain.vo.GenerateQrCodeRequestVo; |
| | | import cn.huge.module.cases.utils.StatisticsTimeUtils; |
| | | import cn.huge.module.client.api.impl.CustClientImpl; |
| | | import cn.huge.module.client.api.impl.SysClientImpl; |
| | | import cn.huge.module.client.api.impl.UtilsClientImpl; |
| | |
| | | terms.put("areaType", areaType); |
| | | // 调用统计调解过程的方法 |
| | | CaseStatisticsBaseDTO caseStatisticsBaseDTO = statisticsProcess(terms); |
| | | |
| | | //当日新增 |
| | | Map<String, Object> toDayTerms = new HashMap<>(); |
| | | toDayTerms.putAll(terms); |
| | | String toDayStr = DateUtils.DateToString(DateUtils.getNowDate(), DateUtils.YYYY_MM_DD); |
| | | toDayTerms.put("createStart", toDayStr + " 00:00:00"); |
| | | toDayTerms.put("createEnd", toDayStr + " 23:59:59"); |
| | | CaseStatisticsBaseDTO toDayBaseDTO = mapper.statisticsBase(toDayTerms); |
| | | caseStatisticsBaseDTO.setToDayTotalNum(toDayBaseDTO.getTotalNum()); |
| | | caseStatisticsBaseDTO.setToDayProcessNum(toDayBaseDTO.getProcessNum()); |
| | | caseStatisticsBaseDTO.setToDayRejectNum(toDayBaseDTO.getRejectNum()); |
| | | caseStatisticsBaseDTO.setToDayFinishNum(toDayBaseDTO.getFinishNum()); |
| | | |
| | | //区域数据统计 |
| | | List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = new ArrayList<>(); |
| | | if (!isLast) { |
| | |
| | | return caseStatisticsTypeDTOS; |
| | | } |
| | | |
| | | /** |
| | | * 工作统计 |
| | | */ |
| | | public CaseWorkStatisticsBaseDTO workStatistics(Map<String, Object> terms, String userId) throws IOException { |
| | | CaseWorkStatisticsBaseDTO caseWorkStatisticsBaseDTO = new CaseWorkStatisticsBaseDTO(); |
| | | terms.put("statistics", "1"); |
| | | //根据用户筛选区域范围 |
| | | CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId); |
| | | //目前没有村居数据,所以单位等级是4的也归集到3里面 |
| | | if (ctUnitDTO.getUnitGrade().equals(1)) { |
| | | terms.put("queCity", ctUnitDTO.getCity()); |
| | | } else if (ctUnitDTO.getUnitGrade().equals(2)) { |
| | | terms.put("queArea", ctUnitDTO.getArea()); |
| | | } else if (ctUnitDTO.getUnitGrade().equals(3)) { |
| | | terms.put("queRoad", ctUnitDTO.getRoad()); |
| | | } else if (ctUnitDTO.getUnitGrade().equals(4)) { |
| | | terms.put("queVillage", ctUnitDTO.getRoad()); |
| | | } |
| | | terms.put("workUserId", userId); |
| | | String areaType = "1"; |
| | | if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { |
| | | terms.remove("queArea"); |
| | | terms.remove("queCity"); |
| | | terms.remove("queRoad"); |
| | | areaType = "4"; |
| | | } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { |
| | | terms.remove("queArea"); |
| | | terms.remove("queCity"); |
| | | areaType = "3"; |
| | | } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { |
| | | terms.remove("queCity"); |
| | | areaType = "2"; |
| | | } |
| | | terms.put("areaType", areaType); |
| | | CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms); |
| | | Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()) + dellNull(caseStatisticsBaseDTO.getResolveingNum()); |
| | | Integer resolveTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()); |
| | | caseStatisticsBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveNum() * 100, resolveTotalNum, 1)); |
| | | caseStatisticsBaseDTO.setUnResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getUnResolveNum() * 100, resolveTotalNum, 1)); |
| | | caseStatisticsBaseDTO.setResolveingRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveingNum() * 100, baseTotalNum, 1)); |
| | | Integer levelTotalNum = caseStatisticsBaseDTO.getOneLevelNum() + caseStatisticsBaseDTO.getTwoLevelNum() + caseStatisticsBaseDTO.getThreeLevelNum(); |
| | | caseStatisticsBaseDTO.setOneLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getOneLevelNum() * 100, levelTotalNum, 1)); |
| | | caseStatisticsBaseDTO.setTwoLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getTwoLevelNum() * 100, levelTotalNum, 1)); |
| | | caseStatisticsBaseDTO.setThreeLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getThreeLevelNum() * 100, levelTotalNum, 1)); |
| | | //当日新增 |
| | | Map<String, Object> toDayTerms = new HashMap<>(); |
| | | toDayTerms.putAll(terms); |
| | | String toDayStr = DateUtils.DateToString(DateUtils.getNowDate(), DateUtils.YYYY_MM_DD); |
| | | toDayTerms.put("createStart", toDayStr + " 00:00:00"); |
| | | toDayTerms.put("createEnd", toDayStr + " 23:59:59"); |
| | | CaseStatisticsBaseDTO toDayBaseDTO = mapper.statisticsBase(toDayTerms); |
| | | caseStatisticsBaseDTO.setToDayTotalNum(toDayBaseDTO.getTotalNum()); |
| | | caseStatisticsBaseDTO.setToDayProcessNum(toDayBaseDTO.getProcessNum()); |
| | | caseStatisticsBaseDTO.setToDayRejectNum(toDayBaseDTO.getRejectNum()); |
| | | caseStatisticsBaseDTO.setToDayFinishNum(toDayBaseDTO.getFinishNum()); |
| | | BeanUtils.copyProperties(caseStatisticsBaseDTO, caseWorkStatisticsBaseDTO); |
| | | |
| | | //按时间统计 |
| | | Date startDate = null; |
| | | Date endDate = null; |
| | | if(ObjectUtils.isNotEmpty(terms.get("createStart"))){ |
| | | String startTime = terms.get("createStart").toString(); |
| | | String endTime = terms.get("createEnd").toString(); |
| | | startDate = DateUtils.StringToDate(startTime, "yyyy-MM-dd HH:mm:ss"); |
| | | endDate = DateUtils.StringToDate(endTime, "yyyy-MM-dd HH:mm:ss"); |
| | | terms.put("selectTimeType","1"); |
| | | }else if(ObjectUtils.isNotEmpty(terms.get("closeStart"))){ |
| | | String startTime = terms.get("closeStart").toString(); |
| | | String endTime = terms.get("closeEnd").toString(); |
| | | startDate = DateUtils.StringToDate(startTime, "yyyy-MM-dd HH:mm:ss"); |
| | | endDate = DateUtils.StringToDate(endTime, "yyyy-MM-dd HH:mm:ss"); |
| | | terms.put("selectTimeType","2"); |
| | | } |
| | | List<CaseWorkStatisticsTimeDTO> resultTimeDTOs = new ArrayList<>(); |
| | | if(ObjectUtils.isNotEmpty(startDate)){ |
| | | String spanType = StatisticsTimeUtils.spanTime(startDate, endDate); |
| | | terms.put("timeType", spanType); |
| | | List<CaseWorkStatisticsTimeDTO> caseWorkStatisticsTimeDTOs = mapper.workStatisticsTime(terms); |
| | | resultTimeDTOs = StatisticsTimeUtils.dellStatisticsTime(caseWorkStatisticsTimeDTOs, startDate, endDate, spanType); |
| | | } |
| | | caseWorkStatisticsBaseDTO.setTimeList(resultTimeDTOs); |
| | | |
| | | //环比和同比 |
| | | if(StatisticsTimeUtils.isStartAndEndOfMonth(startDate, endDate)){ |
| | | caseWorkStatisticsBaseDTO.setMomType("1"); |
| | | Map<String, Object> momthTerms = new HashMap<>(); |
| | | momthTerms.putAll(terms); |
| | | momthTerms.put("createStart", StatisticsTimeUtils.getMomStartDate(startDate) + " 00:00:00"); |
| | | momthTerms.put("createEnd", StatisticsTimeUtils.getMomEndDate(startDate) + " 23:59:59"); |
| | | CaseStatisticsBaseDTO momBaseDTO = mapper.statisticsBase(momthTerms); |
| | | caseWorkStatisticsBaseDTO.setMomTotalRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getTotalNum(),momBaseDTO.getTotalNum())); |
| | | caseWorkStatisticsBaseDTO.setMomProcessRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getProcessNum(),momBaseDTO.getProcessNum())); |
| | | caseWorkStatisticsBaseDTO.setMomRejectRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getRejectNum(),momBaseDTO.getRejectNum())); |
| | | caseWorkStatisticsBaseDTO.setMomFinishNumRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getFinishNum(),momBaseDTO.getFinishNum())); |
| | | Integer momResolveTotalNum = dellNull(momBaseDTO.getResolveNum()) + dellNull(momBaseDTO.getUnResolveNum()); |
| | | momBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(momBaseDTO.getResolveNum() * 100, momResolveTotalNum, 1)); |
| | | caseWorkStatisticsBaseDTO.setMomResolveRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getResolveRate(),momBaseDTO.getResolveRate())); |
| | | momthTerms.put("createStart", StatisticsTimeUtils.getYoyDate(startDate) + " 00:00:00"); |
| | | momthTerms.put("createEnd", StatisticsTimeUtils.getYoyDate(endDate) + " 23:59:59"); |
| | | CaseStatisticsBaseDTO yoyBaseDTO = mapper.statisticsBase(momthTerms); |
| | | caseWorkStatisticsBaseDTO.setYoyTotalRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getTotalNum(),yoyBaseDTO.getTotalNum())); |
| | | caseWorkStatisticsBaseDTO.setYoyProcessRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getProcessNum(),yoyBaseDTO.getProcessNum())); |
| | | caseWorkStatisticsBaseDTO.setYoyRejectRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getRejectNum(),yoyBaseDTO.getRejectNum())); |
| | | caseWorkStatisticsBaseDTO.setYoyFinishNumRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getFinishNum(),yoyBaseDTO.getFinishNum())); |
| | | Integer yoyResolveTotalNum = dellNull(yoyBaseDTO.getResolveNum()) + dellNull(yoyBaseDTO.getUnResolveNum()); |
| | | yoyBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(yoyBaseDTO.getResolveNum() * 100, yoyResolveTotalNum, 1)); |
| | | caseWorkStatisticsBaseDTO.setYoyResolveRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getResolveRate(),yoyBaseDTO.getResolveRate())); |
| | | |
| | | }else if(StatisticsTimeUtils.isStartAndEndOfYear(startDate, endDate)){ |
| | | caseWorkStatisticsBaseDTO.setMomType("2"); |
| | | Map<String, Object> momthTerms = new HashMap<>(); |
| | | momthTerms.putAll(terms); |
| | | momthTerms.put("createStart", StatisticsTimeUtils.getYoyDate(startDate) + " 00:00:00"); |
| | | momthTerms.put("createEnd", StatisticsTimeUtils.getYoyDate(endDate) + " 23:59:59"); |
| | | CaseStatisticsBaseDTO yoyBaseDTO = mapper.statisticsBase(momthTerms); |
| | | caseWorkStatisticsBaseDTO.setYoyTotalRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getTotalNum(),yoyBaseDTO.getTotalNum())); |
| | | caseWorkStatisticsBaseDTO.setYoyProcessRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getProcessNum(),yoyBaseDTO.getProcessNum())); |
| | | caseWorkStatisticsBaseDTO.setYoyRejectRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getRejectNum(),yoyBaseDTO.getRejectNum())); |
| | | caseWorkStatisticsBaseDTO.setYoyFinishNumRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getFinishNum(),yoyBaseDTO.getFinishNum())); |
| | | Integer yoyResolveTotalNum = dellNull(yoyBaseDTO.getResolveNum()) + dellNull(yoyBaseDTO.getUnResolveNum()); |
| | | yoyBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(yoyBaseDTO.getResolveNum() * 100, yoyResolveTotalNum, 1)); |
| | | caseWorkStatisticsBaseDTO.setYoyResolveRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getResolveRate(),yoyBaseDTO.getResolveRate())); |
| | | }else{ |
| | | caseWorkStatisticsBaseDTO.setMomType("0"); |
| | | } |
| | | |
| | | //纠纷类型统计 |
| | | List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsTypeFirst(terms); |
| | | if (ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)) { |
| | | sortType(caseStatisticsTypeDTOS); |
| | | } |
| | | Integer typeTotalNum = 0; |
| | | Integer otherCaseNum = 0; |
| | | int i = 1; |
| | | List<CaseStatisticsTypeDTO> typeList = new ArrayList<>(); |
| | | for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) { |
| | | typeTotalNum = typeTotalNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); |
| | | if(i<6 && !"其他".equals(caseStatisticsTypeDTO.getCaseTypeName())){ |
| | | typeList.add(caseStatisticsTypeDTO); |
| | | i++; |
| | | }else{ |
| | | otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); |
| | | } |
| | | } |
| | | for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { |
| | | caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); |
| | | } |
| | | if(otherCaseNum > 0){ |
| | | CaseStatisticsTypeDTO caseStatisticsTypeDTO = new CaseStatisticsTypeDTO(); |
| | | caseStatisticsTypeDTO.setCaseTypeName("其他"); |
| | | caseStatisticsTypeDTO.setCaseNum(otherCaseNum); |
| | | caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); |
| | | typeList.add(caseStatisticsTypeDTO); |
| | | } |
| | | caseWorkStatisticsBaseDTO.setTypeList(typeList); |
| | | return caseWorkStatisticsBaseDTO; |
| | | } |
| | | |
| | | public Map<String, String> getArea() { |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("越秀区", "2"); |
| | |
| | | throw new ServiceException("CaseTaskService.getCountList", e); |
| | | } |
| | | } |
| | | /** |
| | | * 首页-查询全部待办任务 |
| | | * |
| | | * @param page 分页对象 |
| | | * @param terms 条件 |
| | | * @return Page |
| | | */ |
| | | public Page<FrontPageListAllDTO> pageMyTaskAll(PageRequest page, Map<String, Object> terms) { |
| | | try { |
| | | long total = mapper.countMyTaskAll(terms); |
| | | List<FrontPageListAllDTO> frontPageListFPDTOList = mapper.pageMyTaskAll(page, terms); |
| | | return new PageImpl<FrontPageListAllDTO>(frontPageListFPDTOList, page, total); |
| | | } catch (Exception e) { |
| | | log.error("[CaseTaskService.pageMyTaskAll]调用失败,异常信息:" + e, e); |
| | | throw new ServiceException("pageMyTaskAll.pageMyTaskFp", e); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 已办事项-数量 |
| | | * @param terms 条件 |
| | | */ |
| | | public CaseYbCountDTO countYbTaskAll(Map<String, Object> terms) { |
| | | CaseYbCountDTO caseYbCountDTO = new CaseYbCountDTO(); |
| | | long ybDispatch = mapper.countYbDispatch(terms); |
| | | long ybAccept = mapper.countYbAccept(terms); |
| | | long ybClosed = mapper.countYbClosed(terms); |
| | | long ybAudit = mapper.countYbAudit(terms); |
| | | long ybSupervise = mapper.countYbSupervise(terms); |
| | | caseYbCountDTO.setYbDispatch(ybDispatch); |
| | | caseYbCountDTO.setYbAccept(ybAccept); |
| | | caseYbCountDTO.setYbClosed(ybClosed); |
| | | caseYbCountDTO.setYbAudit(ybAudit); |
| | | caseYbCountDTO.setYbSupervise(ybSupervise); |
| | | caseYbCountDTO.setYbMerge(0L); |
| | | caseYbCountDTO.setAllYbTask(ybDispatch+ybAccept+ybClosed+ybAudit+ybSupervise); |
| | | return caseYbCountDTO; |
| | | } |
| | | |
| | | /** |
| | | * 首页-查询待办任务-待/已分派 |
| | |
| | | throw new ServiceException("CaseWindupApplyService.getByCaseTaskId", e); |
| | | } |
| | | } |
| | | /** |
| | | * 根据案件ID获取最新的结案申请记录 |
| | | * @param caseId 案件ID |
| | | * @return 最新的结案申请记录,如果不存在则返回null |
| | | */ |
| | | public CaseWindupApply getByCaseId(String caseId){ |
| | | try{ |
| | | // 创建CaseWindupApply的查询条件包装器 |
| | | QueryWrapper<CaseWindupApply> caseWindupApplyQueryWrapper = new QueryWrapper<>(); |
| | | // 设置查询条件为case_task_id等于传入的caseTaskId |
| | | // 设置查询条件为case_id等于传入的caseId |
| | | caseWindupApplyQueryWrapper.eq("case_id", caseId); |
| | | // 按创建时间降序排序,确保获取最新的记录 |
| | | caseWindupApplyQueryWrapper.orderByDesc("create_time"); |
| | | // 添加LIMIT 1限制,确保只返回一条记录 |
| | | caseWindupApplyQueryWrapper.last("LIMIT 1"); |
| | | // 使用查询条件从数据库中选取一条记录 |
| | | CaseWindupApply caseWindupApply = mapper.selectOne(caseWindupApplyQueryWrapper); |
| | | |
| | |
| | | return caseWindupApply; |
| | | }catch (Exception e){ |
| | | // 记录错误日志,包括方法调用失败的信息和异常堆栈 |
| | | log.error("[CaseWindupApplyService.getByCaseTaskId]调用失败,异常信息:"+e, e); |
| | | log.error("[CaseWindupApplyService.getByCaseId]调用失败,异常信息:"+e, e); |
| | | // 抛出服务异常,包含方法名称和原始异常 |
| | | throw new ServiceException("CaseWindupApplyService.getByCaseTaskId", e); |
| | | throw new ServiceException("CaseWindupApplyService.getByCaseId", e); |
| | | } |
| | | } |
| | | /** |
New file |
| | |
| | | package cn.huge.module.cases.utils; |
| | | |
| | | import cn.huge.base.common.utils.DateUtils; |
| | | import cn.huge.base.common.utils.ObjectUtils; |
| | | import cn.huge.module.cases.domain.dto.CaseWorkStatisticsTimeDTO; |
| | | import com.alibaba.fastjson.JSON; |
| | | |
| | | import java.time.*; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.temporal.TemporalAdjusters; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 工作统计-时间计算类 |
| | | * @author zhouxiantao |
| | | * @create 2025-04-23 11:48 |
| | | */ |
| | | public class StatisticsTimeUtils { |
| | | /** |
| | | * 判断两个时间 1-按日统计,2-按月统计,3-按年统计 |
| | | * */ |
| | | public static String spanTime(Date startDate, Date endDate){ |
| | | Integer differDay = DateUtils.getDifferDay(startDate, endDate); |
| | | if(differDay <= 31){ |
| | | return "1"; |
| | | }else if(differDay > 31 && differDay <= 365){ |
| | | return "2"; |
| | | }else if(differDay > 365){ |
| | | return "3"; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 填补缺少的时间 |
| | | * */ |
| | | public static List<CaseWorkStatisticsTimeDTO> dellStatisticsTime(List<CaseWorkStatisticsTimeDTO> caseWorkStatisticsTimeDTOS, Date startDate, Date endDate,String type) { |
| | | List<CaseWorkStatisticsTimeDTO> resultList = new ArrayList<>(); |
| | | if("1".equals(type)){ |
| | | Integer differDay = DateUtils.getDifferDay(startDate, endDate); |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate endLocalDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | // 生成所有在 startDate 和 endDate 范围内的日期 |
| | | Set<LocalDate> allDatesInRange = new HashSet<>(); |
| | | LocalDate currentDate = startLocalDate; |
| | | while (!currentDate.isAfter(endLocalDate)) { |
| | | allDatesInRange.add(currentDate); |
| | | currentDate = currentDate.plusDays(1); |
| | | } |
| | | // 将 caseWorkStatisticsTimeDTOs 中的日期转换为 LocalDate 并存储在 map 中 |
| | | Map<LocalDate, CaseWorkStatisticsTimeDTO> existingDatesMap = new HashMap<>(); |
| | | for (CaseWorkStatisticsTimeDTO dto : caseWorkStatisticsTimeDTOS) { |
| | | LocalDate date = LocalDate.parse(dto.getDayStr(), formatter); |
| | | existingDatesMap.put(date, dto); |
| | | } |
| | | // 确保每个日期都在范围内 |
| | | for (LocalDate date : allDatesInRange) { |
| | | if (existingDatesMap.containsKey(date)) { |
| | | CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO = existingDatesMap.get(date); |
| | | String[] split = caseWorkStatisticsTimeDTO.getDayStr().split("-"); |
| | | caseWorkStatisticsTimeDTO.setTimeStr(split[2]+"日"); |
| | | caseWorkStatisticsTimeDTO.setTimeAllStr(split[0]+"年"+split[1]+"月"+split[2]+"日"); |
| | | int i = Integer.valueOf(split[1]) * 100 + Integer.valueOf(split[2]); |
| | | caseWorkStatisticsTimeDTO.setSort(i); |
| | | resultList.add(caseWorkStatisticsTimeDTO); |
| | | } else { |
| | | String format = date.format(formatter); |
| | | String[] split = format.split("-"); |
| | | CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO = new CaseWorkStatisticsTimeDTO(); |
| | | caseWorkStatisticsTimeDTO.setTimeStr(split[2]+"日"); |
| | | caseWorkStatisticsTimeDTO.setTimeAllStr(split[0]+"年"+split[1]+"月"+split[2]+"日"); |
| | | int i = Integer.valueOf(split[1]) * 100 + Integer.valueOf(split[2]); |
| | | caseWorkStatisticsTimeDTO.setSort(i); |
| | | resultList.add(caseWorkStatisticsTimeDTO); |
| | | } |
| | | } |
| | | if(differDay <=7){ |
| | | Collections.sort(resultList, (o1, o2) -> Integer.compare(o1.getSort(), o2.getSort())); |
| | | return resultList; |
| | | }else{ |
| | | List<CaseWorkStatisticsTimeDTO> result1List = new ArrayList<>(); |
| | | Map<String, List<CaseWorkStatisticsTimeDTO>> stringListMap = groupByWeek(caseWorkStatisticsTimeDTOS); |
| | | for (String week : stringListMap.keySet()) { |
| | | String[] split = week.split("="); |
| | | String[] startTime = split[0].split("-"); |
| | | String[] endTime = split[1].split("-"); |
| | | CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO = new CaseWorkStatisticsTimeDTO(); |
| | | List<CaseWorkStatisticsTimeDTO> caseWorkStatisticsTimeDTOS1 = stringListMap.get(week); |
| | | for (CaseWorkStatisticsTimeDTO workStatisticsTimeDTO : caseWorkStatisticsTimeDTOS1) { |
| | | caseWorkStatisticsTimeDTO.setTotalNum(caseWorkStatisticsTimeDTO.getTotalNum()+workStatisticsTimeDTO.getTotalNum()); |
| | | caseWorkStatisticsTimeDTO.setProcessNum(caseWorkStatisticsTimeDTO.getProcessNum()+workStatisticsTimeDTO.getProcessNum()); |
| | | caseWorkStatisticsTimeDTO.setFinishNum(caseWorkStatisticsTimeDTO.getFinishNum()+workStatisticsTimeDTO.getFinishNum()); |
| | | caseWorkStatisticsTimeDTO.setRejectNum(caseWorkStatisticsTimeDTO.getRejectNum()+workStatisticsTimeDTO.getRejectNum()); |
| | | caseWorkStatisticsTimeDTO.setResolveNum(caseWorkStatisticsTimeDTO.getResolveNum()+workStatisticsTimeDTO.getResolveNum()); |
| | | caseWorkStatisticsTimeDTO.setUnResolveNum(caseWorkStatisticsTimeDTO.getUnResolveNum()+workStatisticsTimeDTO.getUnResolveNum()); |
| | | caseWorkStatisticsTimeDTO.setResolveingNum(caseWorkStatisticsTimeDTO.getResolveingNum()+workStatisticsTimeDTO.getResolveingNum()); |
| | | } |
| | | caseWorkStatisticsTimeDTO.setTimeStr(startTime[2]+"-"+endTime[2]+"日"); |
| | | caseWorkStatisticsTimeDTO.setTimeAllStr(startTime[0]+"年"+startTime[1]+"月"+startTime[2]+"-"+endTime[2]+"日"); |
| | | int i = Integer.valueOf(startTime[1]) * 100 + Integer.valueOf(startTime[2]); |
| | | caseWorkStatisticsTimeDTO.setSort(i); |
| | | result1List.add(caseWorkStatisticsTimeDTO); |
| | | } |
| | | Collections.sort(result1List, (o1, o2) -> Integer.compare(o1.getSort(), o2.getSort())); |
| | | return result1List; |
| | | } |
| | | }else if("2".equals(type)){ |
| | | int startYear = DateUtils.getYear(startDate); |
| | | int endYear = DateUtils.getYear(endDate); |
| | | int startMonth = DateUtils.getMonth(startDate); |
| | | int endMonth = DateUtils.getMonth(endDate); |
| | | Integer minMonth = startYear * 100 + startMonth; |
| | | Integer maxMonth = endYear * 100 + endMonth; |
| | | List<String> monthList = new ArrayList<>(); |
| | | Map<String, CaseWorkStatisticsTimeDTO> existingDatesMap = new HashMap<>(); |
| | | for (CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO : caseWorkStatisticsTimeDTOS) { |
| | | existingDatesMap.put(caseWorkStatisticsTimeDTO.getMonthStr(), caseWorkStatisticsTimeDTO); |
| | | monthList.add(caseWorkStatisticsTimeDTO.getMonthStr()); |
| | | } |
| | | for (int i = minMonth; i <= maxMonth; i++){ |
| | | Integer year = i / 100; |
| | | Integer month = i % 100; |
| | | if(month == 0 || month > 12){ |
| | | continue; |
| | | } |
| | | String timeStr = year+"-"+month; |
| | | if(!monthList.contains(timeStr)){ |
| | | CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO = new CaseWorkStatisticsTimeDTO(); |
| | | caseWorkStatisticsTimeDTO.setTimeStr(month+"月"); |
| | | caseWorkStatisticsTimeDTO.setTimeAllStr(year+"年"+month+"月"); |
| | | caseWorkStatisticsTimeDTO.setSort(i); |
| | | resultList.add(caseWorkStatisticsTimeDTO); |
| | | }else{ |
| | | CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO = existingDatesMap.get(timeStr); |
| | | caseWorkStatisticsTimeDTO.setTimeStr(month+"月"); |
| | | caseWorkStatisticsTimeDTO.setTimeAllStr(year+"年"+month+"月"); |
| | | caseWorkStatisticsTimeDTO.setSort(i); |
| | | resultList.add(caseWorkStatisticsTimeDTO); |
| | | } |
| | | } |
| | | }else { |
| | | int minYear = DateUtils.getYear(startDate); |
| | | int maxYear = DateUtils.getYear(endDate); |
| | | List<String> yearList = new ArrayList<>(); |
| | | Map<String, CaseWorkStatisticsTimeDTO> existingDatesMap = new HashMap<>(); |
| | | for (CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO : caseWorkStatisticsTimeDTOS) { |
| | | caseWorkStatisticsTimeDTO.setTimeStr(caseWorkStatisticsTimeDTO.getYearStr()); |
| | | existingDatesMap.put(caseWorkStatisticsTimeDTO.getYearStr(), caseWorkStatisticsTimeDTO); |
| | | yearList.add(caseWorkStatisticsTimeDTO.getYearStr()); |
| | | } |
| | | for (int i = minYear; i <= maxYear; i++){ |
| | | String timeStr = String.valueOf(i); |
| | | if(!yearList.contains(timeStr)){ |
| | | CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO = new CaseWorkStatisticsTimeDTO(); |
| | | caseWorkStatisticsTimeDTO.setTimeStr(timeStr+"年"); |
| | | caseWorkStatisticsTimeDTO.setTimeAllStr(timeStr+"年"); |
| | | caseWorkStatisticsTimeDTO.setSort(i); |
| | | resultList.add(caseWorkStatisticsTimeDTO); |
| | | }else{ |
| | | CaseWorkStatisticsTimeDTO caseWorkStatisticsTimeDTO = existingDatesMap.get(timeStr); |
| | | caseWorkStatisticsTimeDTO.setTimeStr(timeStr+"年"); |
| | | caseWorkStatisticsTimeDTO.setTimeAllStr(timeStr+"年"); |
| | | caseWorkStatisticsTimeDTO.setSort(i); |
| | | resultList.add(caseWorkStatisticsTimeDTO); |
| | | } |
| | | } |
| | | } |
| | | Collections.sort(resultList, (o1, o2) -> Integer.compare(o1.getSort(), o2.getSort())); |
| | | return resultList; |
| | | } |
| | | |
| | | /** |
| | | * 按周进行分组 |
| | | * */ |
| | | public static Map<String, List<CaseWorkStatisticsTimeDTO>> groupByWeek(List<CaseWorkStatisticsTimeDTO> caseWorkStatisticsTimeDTOs) { |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | Map<String, List<CaseWorkStatisticsTimeDTO>> weeklyGroups = new HashMap<>(); |
| | | for (CaseWorkStatisticsTimeDTO dto : caseWorkStatisticsTimeDTOs) { |
| | | LocalDate date = LocalDate.parse(dto.getDayStr(), formatter); |
| | | LocalDate startOfWeek = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); |
| | | LocalDate endOfWeek = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); |
| | | String weekKey = startOfWeek.format(formatter) + "=" + endOfWeek.format(formatter); |
| | | weeklyGroups.computeIfAbsent(weekKey, k -> new ArrayList<>()).add(dto); |
| | | } |
| | | // 对每个周组内的记录按时间从小到大排序 |
| | | for (List<CaseWorkStatisticsTimeDTO> group : weeklyGroups.values()) { |
| | | group.sort(Comparator.comparing(CaseWorkStatisticsTimeDTO::getDayStr)); |
| | | } |
| | | System.out.println(JSON.toJSONString(weeklyGroups)); |
| | | return weeklyGroups; |
| | | } |
| | | |
| | | public static boolean isStartAndEndOfYear(Date startDate, Date endDate) { |
| | | LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate endLocalDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | // 判断 startDate 是否是某一年的第一天 |
| | | boolean isStartDateFirstDay = startLocalDate.equals(startLocalDate.with(TemporalAdjusters.firstDayOfYear())); |
| | | // 判断 endDate 是否是某一年的最后一天 |
| | | boolean isEndDateLastDay = endLocalDate.equals(endLocalDate.with(TemporalAdjusters.lastDayOfYear())); |
| | | return isStartDateFirstDay && isEndDateLastDay && startLocalDate.getYear() == endLocalDate.getYear(); |
| | | } |
| | | |
| | | public static boolean isStartAndEndOfMonth(Date startDate, Date endDate) { |
| | | LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate endLocalDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | // 判断 startDate 是否是某个月的第一天 |
| | | boolean isStartDateFirstDay = startLocalDate.equals(startLocalDate.with(TemporalAdjusters.firstDayOfMonth())); |
| | | // 判断 endDate 是否是某个月的最后一天 |
| | | boolean isEndDateLastDay = endLocalDate.equals(endLocalDate.with(TemporalAdjusters.lastDayOfMonth())); |
| | | return isStartDateFirstDay && isEndDateLastDay && startLocalDate.getMonthValue() == endLocalDate.getMonthValue() && startLocalDate.getYear() == endLocalDate.getYear(); |
| | | } |
| | | |
| | | /** |
| | | * 获取时间的上个月开始时间 |
| | | * */ |
| | | public static String getMomStartDate(Date startDate) { |
| | | LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | YearMonth lastMonth = YearMonth.from(startLocalDate).minusMonths(1); |
| | | LocalDate firstDayOfLastMonth = lastMonth.atDay(1); |
| | | Date from = Date.from(firstDayOfLastMonth.atStartOfDay(ZoneId.systemDefault()).toInstant()); |
| | | String time = DateUtils.DateToString(from, DateUtils.YYYY_MM_DD); |
| | | return time; |
| | | } |
| | | |
| | | /** |
| | | * 获取时间的上个月结束时间 |
| | | * */ |
| | | public static String getMomEndDate(Date startDate) { |
| | | LocalDate startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | YearMonth lastMonth = YearMonth.from(startLocalDate).minusMonths(1); |
| | | LocalDate lastDayOfLastMonth = lastMonth.atEndOfMonth(); |
| | | Date from = Date.from(lastDayOfLastMonth.atTime(23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()); |
| | | String time = DateUtils.DateToString(from, DateUtils.YYYY_MM_DD); |
| | | return time; |
| | | } |
| | | |
| | | /** |
| | | * 获取时间的去年的时间 |
| | | * */ |
| | | public static String getYoyDate(Date startDate) { |
| | | LocalDateTime startDateTime = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); |
| | | LocalDateTime lastYearSameDateTime = startDateTime.minusYears(1); |
| | | Date from = Date.from(lastYearSameDateTime.atZone(ZoneId.systemDefault()).toInstant()); |
| | | String time = DateUtils.DateToString(from, DateUtils.YYYY_MM_DD); |
| | | return time; |
| | | } |
| | | |
| | | public static String calculateMomGrowthRate(int currentMonthValue, int previousMonthValue) { |
| | | if (previousMonthValue == 0) { |
| | | return "0"; |
| | | } |
| | | double rate = ((double) (currentMonthValue - previousMonthValue) / previousMonthValue) * 100; |
| | | return String.format("%.1f", rate); |
| | | } |
| | | |
| | | public static String calculateMomGrowthRate(String currentStr, String previousStr) { |
| | | if(ObjectUtils.isEmpty(currentStr)){ |
| | | return "0"; |
| | | } |
| | | double previousMonthValue = 0; |
| | | if(ObjectUtils.isNotEmpty(previousStr) && !"null".equals(previousStr)){ |
| | | previousMonthValue = Double.valueOf(previousStr); |
| | | } |
| | | double currentMonthValue = Double.valueOf(currentStr); |
| | | if(currentMonthValue == 0){ |
| | | return "0"; |
| | | } |
| | | double rate = ((double) (currentMonthValue - previousMonthValue) / previousMonthValue) * 100; |
| | | return String.format("%.1f", rate); |
| | | } |
| | | |
| | | } |