1023海信现场修改JIRA问题解决

master
Zangzhipeng 2 years ago
parent 973f00ec7e
commit 04c253c66f
  1. 6
      .idea/CoolRequestCookiePersistent.xml
  2. 6
      .idea/CoolRequestHistoryPersistent.xml
  3. 18
      .idea/dataSources.xml
  4. 10
      .idea/jarRepositories.xml
  5. 6
      .idea/sqldialects.xml
  6. 13
      hiatmp-admin-server/target/classes/application.yml
  7. BIN
      hiatmp-admin-server/target/classes/com/hisense/hiatmp/adminServer/AdminServerMain.class
  8. BIN
      hiatmp-admin-server/target/classes/com/hisense/hiatmp/adminServer/config/SecuritySecureConfig.class
  9. BIN
      hiatmp-admin-server/target/classes/com/hisense/hiatmp/adminServer/constant/CommonConstant.class
  10. 101
      hiatmp-admin-server/target/classes/log4j2.xml
  11. 24
      hiatmp-gateway/target/classes/application.yml
  12. 20
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/cache/DistenceCache.java
  13. 7
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/AuthController.java
  14. 91
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/ConfigController.java
  15. 25
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/FtpController.java
  16. 82
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/GovernmentController.java
  17. 497
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/HighDangerController.java
  18. 9
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/OperatorController.java
  19. 5
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/TricycleController.java
  20. 22
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/job/DistanceCacheJob.java
  21. 4
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/ConfigMapper.java
  22. 7
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/DepartmentMapper.java
  23. 28
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/HighDangerMapper.java
  24. 6
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/OperatorMapper.java
  25. 2
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/ThtAttachsMapper.java
  26. 7
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/GovernmentService.java
  27. 11
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/HighDangerService.java
  28. 4
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/IConfigService.java
  29. 2
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/ThtAttachsService.java
  30. 54
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/ConfigServiceImpl.java
  31. 54
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/GovernmentServiceImpl.java
  32. 50
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/HighDangerBaseServiceImpl.java
  33. 15
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/ThtApproveServiceImpl.java
  34. 5
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/ThtAttachsServiceImpl.java
  35. 9
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/TricycleServiceImpl.java
  36. 34
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/utils/CoordinateConverter.java
  37. 4
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/utils/CoordinateUtils.java
  38. 52
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/utils/FTPUtils.java
  39. 19
      hiatmp-hidden-danger-server/src/main/resources/application.yml
  40. 28
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/ConfigMapper.xml
  41. 7
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/EnumTypeMapper.xml
  42. 393
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/HighDangerMapper.xml
  43. 43
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/OperatorMapper.xml
  44. 7
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/ThtAttachsMapper.xml
  45. 17
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/ThtTricycleInfoBaseMapper.xml
  46. 4
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/CrossingDTO.java
  47. 38
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/DTO/GovernmentProgrammeDTO.java
  48. 6
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/DTO/SectionDTO.java
  49. 12
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/DTO/ThtTricycleInfoBaseDTO.java
  50. 5
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/HiddenDangerDTO.java
  51. 29
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/HighDangerBase.java
  52. 10
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/HighDangerRoad.java
  53. 7
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/ManualInvestigation.java
  54. 6
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/Operator.java
  55. 4
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/ServerResponse.java
  56. 4
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/ThtApprove.java
  57. 2
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/ThtHiddenDangerRoadInfo.java
  58. 3
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/ThtHiddenDataCollectConfigExtra.java
  59. 49
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/ThtSectionInfoDTO.java
  60. 2
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/VO/BasicInfoVO.java
  61. 10
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/VO/GovernmentProgrammeVO.java
  62. 15
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/VO/GovernmentVO.java
  63. 1
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/dmr/FaceMeasureHistory.java
  64. 5
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/dmr/LineInfo.java
  65. 4
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/dmr/Point.java
  66. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/annotation/DbFieldToBeanField.class
  67. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/BigDataQuery.class
  68. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/BigDataQueryParam.class
  69. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/CkptCocConfig.class
  70. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/RoadRiskAccidentDTO.class
  71. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/RoadRiskAreaDTO.class
  72. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/RoadRiskDataDTO.class
  73. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/RoadRiskLabelDTO.class
  74. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/RoadRiskQueryDTO.class
  75. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/RoadRiskSectionDTO.class
  76. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/cockpit/RoadRiskTagDTO.class
  77. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/AreaDTO.class
  78. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/AreaSimpleDTO.class
  79. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/BaseQueryDTO.class
  80. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/Department.class
  81. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/DepartmentVO.class
  82. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/HolidayDrop.class
  83. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/KeyValueForDate.class
  84. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/LogData.class
  85. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/Menu.class
  86. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/Operator.class
  87. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/OperatorVO.class
  88. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/PISVO.class
  89. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/PageVO.class
  90. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/Police.class
  91. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/Record.class
  92. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/ServerResponse.class
  93. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/TrendCommonVO.class
  94. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/common/XzqhRelation.class
  95. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/dmr/Area.class
  96. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/dmr/AreaSection.class
  97. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/dmr/BisCrossing.class
  98. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/dmr/DepartmentMajorclass.class
  99. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/dmr/DigRoad.class
  100. BIN
      hiatmp-model/target/classes/com/hisense/hiatmp/model/dmr/EnumType.class
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CoolRequestCookiePersistent">
<option name="cookies" value="[]" />
</component>
</project>

File diff suppressed because one or more lines are too long

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="postgres@118.89.79.160" uuid="9cfa0527-82ae-4e09-9095-364b1cb650bd">
<driver-ref>postgresql</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
<jdbc-url>jdbc:postgresql://118.89.79.160:5432/postgres</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
<property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="central" />
<option name="url" value="https://maven.aliyun.com/repository/central" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
@ -16,6 +21,11 @@
<option name="name" value="Central Repository" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://maven.aliyun.com/repository/central" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="central" />

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/hiatmp-hidden-danger-server/src/main/resources/sql-mapper/HighDangerMapper.xml" dialect="GenericSQL" />
</component>
</project>

@ -1,13 +0,0 @@
server:
port: 31002
####服务监控server端
spring:
application:
name: hiatmp-admin-server
security:
user:
name: hisense
password: N5HWw9Hn3jxD

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration monitorInterval="5">
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--变量配置-->
<Properties>
<!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
<!-- %logger{36} 表示 Logger 名字最长36个字符 -->
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%thread] %-5level %logger{60} - %msg%n" />
<!-- 定义日志存储的路径 -->
<property name="FILE_PATH" value="./log" />
<!-- 应用简称 -->
<property name="APP_NAME" value="monitor"/>
<!-- 定义项目名称 -->
<property name="FILE_NAME" value="hiatmp-admin-server" />
</Properties>
<appenders>
<console name="Console" target="SYSTEM_OUT">
<!--输出日志的格式-->
<PatternLayout pattern="${LOG_PATTERN}"/>
<!--控制台只输出level及其以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
</console>
<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用-->
<File name="Filelog" fileName="${FILE_PATH}/test.log" append="false">
<PatternLayout pattern="${LOG_PATTERN}"/>
</File>
<!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/${APP_NAME}-info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd}_%i.log.gz">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
<SizeBasedTriggeringPolicy size="200MB"/>
</Policies>
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖-->
<DefaultRolloverStrategy max="15"/>
</RollingFile>
<!-- 这个会打印出所有的warn及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<RollingFile name="RollingFileWarn" fileName="${FILE_PATH}/warn.log" filePattern="${FILE_PATH}/${FILE_NAME}-WARN-%d{yyyy-MM-dd}_%i.log.gz">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
<SizeBasedTriggeringPolicy size="200MB"/>
</Policies>
<DefaultRolloverStrategy max="15"/>
</RollingFile>
<!-- 这个会打印出所有的error及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<RollingFile name="RollingFileError" fileName="${FILE_PATH}/error.log" filePattern="${FILE_PATH}/${FILE_NAME}-ERROR-%d{yyyy-MM-dd}_%i.log.gz">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<!--interval属性用来指定多久滚动一次,默认是1 hour-->
<TimeBasedTriggeringPolicy interval="1"/>
<SizeBasedTriggeringPolicy size="200MB"/>
</Policies>
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖-->
<DefaultRolloverStrategy max="15"/>
</RollingFile>
</appenders>
<!--Logger节点用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。-->
<!--然后定义loggers,只有定义了logger并引入的appender,appender才会生效-->
<loggers>
<!--过滤掉spring和mybatis的一些无用的DEBUG信息 name="org.mybatis"-->
<logger name="org.mybatis" level="INFO" additivity="false">
<AppenderRef ref="Console"/>
</logger>
<!--<logger name="mapper" level="DEBUG" additivity="false">
<appender-ref ref="Console" />
</logger>-->
<!--监控系统信息-->
<!--若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。-->
<Logger name="org.springframework" level="info" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<root level="info">
<appender-ref ref="Console"/>
<appender-ref ref="Filelog"/>
<appender-ref ref="RollingFileInfo"/>
<appender-ref ref="RollingFileWarn"/>
<appender-ref ref="RollingFileError"/>
</root>
</loggers>
</configuration>

@ -1,5 +1,5 @@
server:
port: 1949
port: 1990
servlet:
context-path: /HiatmpPro
spring:
@ -8,7 +8,7 @@ spring:
cloud:
nacos:
discovery:
server-addr: 10.16.3.179:8848,10.16.1.56:8848,10.16.3.152:8848
server-addr: 10.16.3.178:8848
#server-addr: localhost:8848
gateway:
routes:
@ -28,6 +28,16 @@ spring:
order: 100000
predicates:
- Path=/HiatmpPro/hiface/**
# 地图图层
- id: maplayer
uri: lb://urbantraffic-hiatmp-dao-maplayer
predicates:
- Path=/HiatmpPro/maplayer/**
# 执法驾驶舱
- id: cockpit
uri: lb://urbantraffic-hiatmp-cockpit
predicates:
- Path=/HiatmpPro/cockpit/**
# 情报指挥
- id: pis
uri: lb://urbantraffic-hiatmp-service-piszz
@ -79,7 +89,7 @@ spring:
- Path=/HiatmpPro/vmsmqp/**
sso:
#是否开启sso权限验证
active: true
active: false
cookie-key: HiATMP-sso-id
cookie-max-age: -1
#回跳地址 后台ip+端口
@ -93,12 +103,16 @@ sso:
#登出method
logout-path: logout
#忽略sso路径
ignore-ends: .js,.png
ignore-ends: .js,.png,insertBindOperator,getBindOperator
#是否接收CAS server控制用户在线状态
accept-sso-update: true
#防钓鱼
anti-phishing:
active: false
accept: http\://10.16.1.72,http\://172.29.96.29,http\://172.29.77.241
sso-maoming:
active: false
active: true
sso-kunming:
active: false
danao-url: http://53.102.96.11:8888

@ -0,0 +1,20 @@
package com.hisense.hiatmp.server_api.cache;
import org.springframework.stereotype.Component;
import java.util.concurrent.ConcurrentHashMap;
@Component
public class DistenceCache {
private final ConcurrentHashMap<String,Object> distanceCache = new ConcurrentHashMap<>();
public Object getDistanceCache(String key){
return distanceCache.get(key);
}
public void setDistanceCache(String key, Object value){
distanceCache.put(key, value);
}
}

@ -41,7 +41,7 @@ public class AuthController {
// 判断是否有该用户,取出该用户信息
Operator operatorById = operatorMapper.getOperatorById(operator.getNuserid());
if(operatorById != null){
// 密码加密
// 密码加密(sha512)
String encrypt = authService.encrypt(operator.getCuserpwd() + operator.getNuserid());
// LocalDate currentDate = LocalDate.now();
@ -62,7 +62,7 @@ public class AuthController {
// String token = JwtUtil.createToken(operatorById);
return ServerResponse.ok("登录成功",authMap);
}
}else{
} else {
return ServerResponse.error("用户不存在");
}
return ServerResponse.error("用户名或密码错误");
@ -79,7 +79,7 @@ public class AuthController {
// 获取要修改的用户信息
Operator operatorById = operatorMapper.getOperatorById(nuserid);
if(operatorById!=null){
// 密码加密存储
// 密码加密存储(sha512)
String encrypt = authService.encrypt(nuserpwd + nuserid);
operatorById.setCuserpwd(encrypt);
@ -96,7 +96,6 @@ public class AuthController {
}else{
return ServerResponse.error("sessionId校验失败");
}
// return ServerResponse.ok("修改成功");
}
return ServerResponse.error("无用户信息");
}

@ -1,13 +1,14 @@
package com.hisense.hiatmp.server_api.controller;
import com.hisense.hiatmp.model.common.EnumRoadType;
import com.hisense.hiatmp.model.common.*;
import com.hisense.hiatmp.model.common.enums.RoleEnum;
import com.hisense.hiatmp.model.dmr.LineInfo;
import com.hisense.hiatmp.server_api.mapper.HighDangerMapper;
import com.hisense.hiatmp.server_api.model.ModuleCustomConfig;
import com.hisense.hiatmp.server_api.model.StreetCommunity;
import com.hisense.hiatmp.server_api.service.IConfigService;
import com.hisense.hiatmp.common.controller.HiatmpController;
import com.hisense.hiatmp.model.common.ServerResponse;
import com.hisense.hiatmp.server_api.service.OperatorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -22,6 +23,9 @@ public class ConfigController extends HiatmpController {
@Autowired
private IConfigService configService;
@Autowired
private OperatorService operatorService;
@Autowired
HighDangerMapper highDangerMapper;
@ -43,11 +47,41 @@ public class ConfigController extends HiatmpController {
/*
辖区绑定街道
towncode 高德返回的街道code
*/
@GetMapping("/getStreetCommunityByXq")
public ServerResponse<?> getStreetCommunityByXq(@RequestParam(defaultValue = "") String xqcode
public ServerResponse<?> getStreetCommunityByXq(@RequestParam(defaultValue = "") String xqcode,
@RequestParam(defaultValue = "") String towncode,
@RequestParam(defaultValue = "") String nuserId
){
List<StreetCommunity> streetCommunity = configService.getStreetCommunityByXq(xqcode);
int roleFlag = 0;
String cdepartmentid = "";
if(!Objects.equals(nuserId, "")){
Operator operatorById = operatorService.getOperatorById(nuserId);
cdepartmentid = operatorById.getCdepartmentid();
List<String> roleById = operatorService.getRoleById(nuserId);
if (!roleById.isEmpty()) {
for (String role : roleById){
if(Objects.equals(operatorById.getNlevel(), "2")) {
roleFlag = 3;
break;
}
else if(RoleEnum.VILLAGE_CADRE.getName().equals(role)){
roleFlag = 1;
break;
}else if(RoleEnum.TRICYCLE_SQUADRON_POLICE_OFFICERS.getName().equals(role)){
roleFlag = 2;
break;
}
}
} else {
return ServerResponse.error("当前用户无权限");
}
}
List<StreetCommunity> streetCommunity = configService.getStreetCommunityByXq(xqcode,towncode,roleFlag,cdepartmentid);
return ServerResponse.ok(streetCommunity);
}
@ -57,7 +91,30 @@ public class ConfigController extends HiatmpController {
@GetMapping("/getStreetCommunityByJq")
public ServerResponse<?> getStreetCommunityByJq(@RequestParam(defaultValue = "") String jdcode
){
log.info("/getStreetCommunityByJq(街道绑定社区)接口调用,调用ip: {}, 入参:{}", request.getRemoteAddr(),jdcode);
int roleFlag = 0;
String cdepartmentid = "";
// Operator operatorById = operatorService.getOperatorById(nuserId);
// String cdepartmentid = operatorById.getCdepartmentid();
// List<String> roleById = operatorService.getRoleById(nuserId);
//
// if (!roleById.isEmpty()) {
// for (String role : roleById){
// if(RoleEnum.VILLAGE_CADRE.getName().equals(role)){
// roleFlag = 1;
// break;
// }else if(RoleEnum.TRICYCLE_SQUADRON_POLICE_OFFICERS.getName().equals(role)){
// roleFlag = 2;
// break;
// }
// }
// } else {
// return ServerResponse.error("当前用户无权限");
// }
List<StreetCommunity> streetCommunity = configService.getStreetCommunityByJd(jdcode);
log.info("/getStreetCommunityByJq(街道绑定社区)接口返回,调用ip: {}, 出参:{}", request.getRemoteAddr(),streetCommunity);
return ServerResponse.ok(streetCommunity);
}
@ -65,8 +122,8 @@ public class ConfigController extends HiatmpController {
* 获取辖区街道数据
*/
@GetMapping("/getStreetCommunity")
public ServerResponse<?> getStreetCommunity(){
List<StreetCommunity> streetCommunity = configService.getStreetCommunity();
public ServerResponse<?> getStreetCommunity(@RequestParam(defaultValue = "") String search,@RequestParam(defaultValue = "") String nuserid){
List<StreetCommunity> streetCommunity = configService.getStreetCommunity(nuserid,search);
return ServerResponse.ok(streetCommunity);
}
@ -75,20 +132,26 @@ public class ConfigController extends HiatmpController {
*/
@GetMapping("/getDangerBaseData")
public ServerResponse<?> getBaseData(@RequestParam(defaultValue = "") String sectionCode,
@RequestParam(defaultValue = "") String crossingCode){
@RequestParam(defaultValue = "") String crossingCode,
@RequestParam(defaultValue = "") String businessId
){
log.info("/getDangerBaseData(排查第一页默认数据回显)接口被调用,调用ip: {}, 入参:sectionCode:{},crossingCode:{}", request.getRemoteAddr(),sectionCode,crossingCode);
// 查询默认数据
List<LineInfo> dangerBaseData = configService.getDangerBaseData(sectionCode,crossingCode);
if(!businessId.isEmpty()){
HighDangerRoad highDangerRoadByBusinessId = highDangerMapper.getHighDangerRoadByBusinessId(businessId);
String xqname = highDangerMapper.getXqByCode(highDangerRoadByBusinessId.getBelongXq());
String jdname = highDangerMapper.getJdByCode(highDangerRoadByBusinessId.getXzjd());
for (LineInfo lineInfo : dangerBaseData){
lineInfo.setXqcode(highDangerRoadByBusinessId.getBelongXq());
lineInfo.setJdcode(highDangerRoadByBusinessId.getXzjd());
/*List<EnumRoadType> roadTypes = highDangerMapper.getRoadTypes();
if(dangerBaseData.getSectionType() != null){
for(EnumRoadType roadType : roadTypes){
if(Objects.equals(roadType.getEnumvalue(), dangerBaseData.getSectionType())){
dangerBaseData.setSectionType(roadType.getEnumName());
break;
lineInfo.setXqname(xqname);
lineInfo.setJdname(jdname);
}
}
}*/
log.info("/getDangerBaseData(排查第一页默认数据回显)接口返回,调用ip: {}, 出参:{}", request.getRemoteAddr(),dangerBaseData);
return ServerResponse.ok(dangerBaseData);

@ -61,7 +61,6 @@ public class FtpController {
return ServerResponse.ok(url);
}
/**
* 上传文件-通过file上传到ftp
* */
@ -76,7 +75,7 @@ public class FtpController {
@RequestParam(defaultValue = "") String latitude,
HttpServletRequest request) {
log.info("/uploadFileToFtp(上传文件-通过file上传到ftp)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(),mfile);
log.info("/uploadFileToFtp(上传文件-通过file上传到ftp)接口被调用,调用ip: {}, 入参:{},{},{},{}", request.getRemoteAddr(),mfile,position,longitude,latitude);
/*List<String> list = Arrays.asList(".jpg",".jpeg",".png",".bmp",".avi"
,".mov",".rmvb",".rm",".mp4");*/
@ -90,7 +89,7 @@ public class FtpController {
return ServerResponse.error("请上传图片、视频文件");
}*/
//保存的文件名
String dFileName = UUID.randomUUID()+substring;
String dFileName = UUID.randomUUID() + substring;
String url = "";
// //输出图片的格式
@ -104,19 +103,23 @@ public class FtpController {
// 图片格式,添加水印
if (contentType != null && (contentType.equals("image/jpeg") || contentType.equals("image/png") || contentType.equals("image/gif"))) {
BufferedImage originalImage = ImageIO.read(mfile.getInputStream());
log.info("originalImage内容:{}",originalImage);
BufferedImage resultImage = new BufferedImage(originalImage.getWidth(), originalImage.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = resultImage.createGraphics();
g.drawImage(originalImage, 0, 0, null);
// // 设置字体样式和大小
// // 设置字体样式和大小(宋体)
g.setFont(new Font("SIMSUN", Font.BOLD, 24));
g.setColor(Color.WHITE); // 设置文字颜色
// g.setBackground(Color.WHITE);
// unicode 转中文
String pos = StringEscapeUtils.unescapeJava(position);
log.info("转中文String:{}",pos);
String watermarkText = new String((pos + "\n" + formattedDate + "\n经度: " + longitude + " 纬度: " + latitude).getBytes("UTF-8"), "UTF-8"); // 水印文字内容
log.info("水印信息String:{}",watermarkText);
String[] lines = watermarkText.split("\n"); // 将水印文字按换行符分割成多行
@ -137,11 +140,13 @@ public class FtpController {
ImageIO.write(resultImage, "png", outputStream);
InputStream imageStream = new ByteArrayInputStream(outputStream.toByteArray());
url = ftpUtils.uploadToFtp(imageStream, dFileName, false);
// WatermarkUtil.addWatermark(WatermarkUtil.PictureSourceType.NETWORK_PICTURE, WatermarkUtil.WatermarkType.TEXT_WATERMARK, url,textWatermark, outputFormat ,ftpUtils.uploadToFtp(mfile.getInputStream(), dFileName, false), Color.white);
}else{
url = ftpUtils.uploadToFtp(mfile.getInputStream(), dFileName, false);
url = ftpUtils.uploadToFtp(mfile.getInputStream(), originalFilename, false);
}
} catch (Exception e) {
// 默认图片
url = "https://ts1.cn.mm.bing.net/th/id/R-C.987f582c510be58755c4933cda68d525?rik=C0D21hJDYvXosw&riu=http%3a%2f%2fimg.pconline.com.cn%2fimages%2fupload%2fupc%2ftx%2fwallpaper%2f1305%2f16%2fc4%2f20990657_1368686545122.jpg&ehk=netN2qzcCVS4ALUQfDOwxAwFcy41oxC%2b0xTFvOYy5ds%3d&risl=&pid=ImgRaw&r=0";
e.printStackTrace();
}
@ -187,14 +192,4 @@ public class FtpController {
e.printStackTrace();
}
}
/*@RequestMapping("/downloadFile")
public String downloadFile() {
try {
InputStream inputStream = ftpUtils.downloadFile("skills.txt");
FileUtil.writeFromStream(inputStream, "E:\\skills.txt");
} catch (Exception e) {
e.printStackTrace();
}
return "SUCCESS";
}*/
}

@ -3,19 +3,26 @@ package com.hisense.hiatmp.server_api.controller;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.hisense.hiatmp.model.common.*;
import com.hisense.hiatmp.model.common.DTO.GovernmentProgrammeDTO;
import com.hisense.hiatmp.model.common.VO.AttachsByGovVo;
import com.hisense.hiatmp.model.common.VO.GovernmentVO;
import com.hisense.hiatmp.server_api.mapper.HighDangerMapper;
import com.hisense.hiatmp.server_api.mapper.ThtRoadInfoMapper;
import com.hisense.hiatmp.server_api.service.GovernmentService;
import com.hisense.hiatmp.server_api.service.HighDangerService;
import com.hisense.hiatmp.server_api.service.ThtApproveService;
import com.hisense.hiatmp.server_api.service.ThtAttachsService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.*;
/**
* @author ZangZhipeng
* 治理操作相关接口
*/
@RestController
@RequestMapping("/government")
public class GovernmentController {
@ -35,6 +42,9 @@ public class GovernmentController {
@Value("${spring.ftp.currentdir}")
private String CURRENT_DIR; // 文件存放的目录
@Value("${spring.ftp-http.url}")
private String ftpUrlHead;
@Autowired
ThtAttachsService thtAttachsService;
@ -50,16 +60,26 @@ public class GovernmentController {
@Autowired
ThtRoadInfoMapper thtRoadInfoMapper;
/*
* @Description:
* @param null
* @return:
* @Author: 云曦
* @date: 2024/10/9 14:12
*/
@PostMapping("/saveGovernment")
public ServerResponse<?> saveGovernment(@RequestBody GovernmentVO governmentVO){
public ServerResponse<?> saveGovernment(@RequestBody GovernmentVO governmentVO
){
String ftpUrl = "ftp://" + userName + ":" + passWord + "@" + ip + ":" + port + CURRENT_DIR;
// String ftpUrl = "ftp://" + userName + ":" + passWord + "@" + ip + ":" + port + CURRENT_DIR;
String ftpUrl = ftpUrlHead + CURRENT_DIR;
UUID uuid = UUID.fromString(UUID.randomUUID().toString());
String info_nid = uuid.toString().replaceAll("-", "");
Date date = new Date();
String pcCount;
// 判断是否之前排查过
HighDangerBase higDangerDetail = highDangerMapper.getHigDangerDetail(governmentVO.getBusinessId());
if(higDangerDetail != null){
pcCount = higDangerDetail.getPcCount();
@ -67,6 +87,9 @@ public class GovernmentController {
pcCount = "1";
}
// 先删除治理图片
governmentService.deleteAttache(governmentVO.getBusinessId());
// 隐患排查表--如果存在该记录则更新
// highDangerMapper.deleteRoadInfo(governmentVO.getBusinessId());
for (HiddenDangerDTO details : governmentVO.getDescribe()) {
@ -83,10 +106,9 @@ public class GovernmentController {
//
// details.setBigCategory(dangerItemsById_f.getParentid());
// 治理图片
if (StringUtils.isNotEmpty(details.getZlPic())) {
String hdPicArr[] = governmentVO.getAcceptancePhotos().split(",");
String[] hdPicArr = details.getZlPic().split(",");
for (String s : hdPicArr) {
String nid = UUID.randomUUID().toString().replace("-", "");
// nid = uuid.toString().replace("-", "");
@ -109,15 +131,18 @@ public class GovernmentController {
// 保存重点排查数据
governmentService.updateRoadInfo(details);
if(Objects.equals(governmentVO.getTemporary(), "0")){
// 更新base表审批状态为1,更新修改时间
highDangerMapper.updateTemporary(governmentVO.getBusinessId());
highDangerMapper.updateTemporary(governmentVO.getBusinessId(),governmentVO.getZlEndTime(),"1");
}
highDangerMapper.updateTemporary(governmentVO.getBusinessId(),governmentVO.getZlEndTime(),"0");
// 更新base表的修改时间
highDangerMapper.updateLastModeTimeRoad(governmentVO.getBusinessId());
}
// 治理图片
if (StringUtils.isNotEmpty(governmentVO.getAcceptancePhotos())) {
String hdPicArr[] = governmentVO.getAcceptancePhotos().split(",");
String[] hdPicArr = governmentVO.getAcceptancePhotos().split(",");
for (String s : hdPicArr) {
String nid = UUID.randomUUID().toString().replace("-", "");
// nid = uuid.toString().replace("-", "");
@ -125,7 +150,7 @@ public class GovernmentController {
String accachName = s.substring(s.lastIndexOf("/") + 1);
thtAttachs.setId(nid);
thtAttachs.setAttachUrl(ftpUrl + accachName);
thtAttachs.setAttachType("6");
thtAttachs.setAttachType("5");
thtAttachs.setUploadTime(date);
// thtAttachs.setInfoId(info_nid);
thtAttachs.setAttachName(accachName);
@ -137,9 +162,9 @@ public class GovernmentController {
}
}
// 治理措施
// 验收材料
if (StringUtils.isNotEmpty(governmentVO.getAcceptanceData())) {
String hdPicArr[] = governmentVO.getAcceptanceData().split(",");
String[] hdPicArr = governmentVO.getAcceptanceData().split(",");
for (String s : hdPicArr) {
String nid = UUID.randomUUID().toString().replace("-", "");
// nid = uuid.toString().replace("-", "");
@ -147,7 +172,7 @@ public class GovernmentController {
String accachName = s.substring(s.lastIndexOf("/") + 1);
thtAttachs.setId(nid);
thtAttachs.setAttachUrl(ftpUrl + accachName);
thtAttachs.setAttachType("5");
thtAttachs.setAttachType("6");
thtAttachs.setUploadTime(date);
// thtAttachs.setInfoId(info_nid);
thtAttachs.setAttachName(accachName);
@ -159,9 +184,12 @@ public class GovernmentController {
}
}
ThtApprove thtAApprove = new ThtApprove();
// 暂存
if(governmentVO.getTemporary().equals("1")){
// String uuidString = uuid.toString().replace("-", "");
return ServerResponse.ok("治理暂存成功");
}
ThtApprove thtAApprove = new ThtApprove();
thtAApprove.setNid(info_nid);
thtAApprove.setBusinessId(governmentVO.getBusinessId());
thtAApprove.setOperator(governmentVO.getNuserid());
@ -170,11 +198,27 @@ public class GovernmentController {
thtAApprove.setOperateContent("0");
thtAApprove.setLastModDate(date);
thtApproveService.save(thtAApprove);
return ServerResponse.ok("治理提交成功");
}
@GetMapping("/getGovernmentProgramme")
@ApiOperation("获取治理后提交的图片")
public ServerResponse<?> getGovernmentProgramme(@RequestParam String businessId) {
GovernmentProgrammeDTO governmentProgramme = governmentService.getGovernmentProgramme(businessId);
if(governmentProgramme != null){
return ServerResponse.ok(governmentProgramme);
}else{
return ServerResponse.ok("治理方案无数据");
}
}
@GetMapping("/getAttachsByGov")
@ApiOperation("获取治理后提交的图片")
public ServerResponse<?> getAttachsByGov(@RequestParam String businessId) {
AttachsByGovVo attachsByGovVo = new AttachsByGovVo();
@ -182,6 +226,7 @@ public class GovernmentController {
LinkedList<Map<String, String>> maps = new LinkedList<>();
LinkedList<Map<String, String>> maps1 = new LinkedList<>();
// 治理图片
List<ThtAttachs> attachsByGov = thtAttachsService.getAttachsByGov(businessId, "5");
for (int i = 0; i < attachsByGov.size(); i++) {
HashMap<String, String> stringStringHashMap = new HashMap<>();
@ -192,14 +237,7 @@ public class GovernmentController {
}
attachsByGovVo.setAcceptancePhotos(maps);
// for (ThtAttachs attach : attachsByGov){
// HashMap<String, String> stringStringHashMap = new HashMap<>();
// stringStringHashMap.put("attach_url", attach.getAttachUrl());
// stringStringHashMap.put("attach_name", attach.getAttachName());
//
// attachsByGovVo.setAcceptancePhotos(stringStringHashMap);
// }
// 治理文档
List<ThtAttachs> attachsByGov1 = thtAttachsService.getAttachsByGov(businessId, "6");
for (ThtAttachs attach : attachsByGov1) {
HashMap<String, String> stringStringHashMap = new HashMap<>();

@ -21,9 +21,11 @@ import com.hisense.hiatmp.server_api.service.ThtApproveService;
import com.hisense.hiatmp.server_api.service.ThtAttachsService;
import com.hisense.hiatmp.server_api.utils.CoordinateConverter;
import com.hisense.hiatmp.server_api.utils.CoordinateUtils;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
@ -84,6 +86,7 @@ public class HighDangerController {
*/
@Transactional
@PostMapping("/insertHiddenDanger")
@ApiOperation("新建排查(测试用)")
public ServerResponse<?> insertDanger(@RequestBody HiddenDangerVO hiddenDangerVO) {
HighDangerBase highDangerBase = new HighDangerBase();
@ -119,6 +122,7 @@ public class HighDangerController {
查询各个状态的数据情况
*/
@GetMapping("/getHighDangerStatusNum")
@ApiOperation("查询各个状态的数据情况")
public ServerResponse<?> getHighStatusNum(@RequestParam String nuserid, HttpServletRequest request) {
log.info("/getHighDangerStatusNum(查询各个状态的数据情况)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), nuserid);
String cdepartmentid = null;
@ -171,9 +175,13 @@ public class HighDangerController {
@RequestParam(value = "endTime", required = false) String endTime,
HttpServletRequest request
) {
log.info("/getHigDangerDealt(查询首页各个状态的数据列表)接口被调用,调用ip: {}, 入参:{},{},{},{}", request.getRemoteAddr(), highDangerBaseVO, pageNum, pageSize, search);
log.info("/getHigDangerDealt(查询首页各个状态的数据列表)接口被调用,调用ip: {}, 入参:{},{},{},{},{}", request.getRemoteAddr(), highDangerBaseVO, pageNum, pageSize, search,classification);
String cdepartmentid = null;
String departmentid = null;
// 去掉两侧的空格
search = search.trim();
// search = search.replaceAll(" ","");
// 获取当前操作的对象,用于查找对应的部
Operator operatorById = operatorMapper.getOperatorById(highDangerBaseVO.getNuserid());
if (operatorById != null) {
@ -189,13 +197,13 @@ public class HighDangerController {
// int termTime = Integer.parseInt(configureMapper.getTermTime());
//Page<HighDangerBase> page = new Page<>(pageNum, pageSize);
if(!("1".equals(approve) && "3".equals(classification))){
PageHelper.startPage(pageNum, pageSize);
}
// 将要查询的状态和部门id查询数据库,获得隐患排查表
List<HighDangerBase> statusCounts = highDangerMapper.getHigDangerDealt(highDangerBaseVO.getStatus(), departmentid, search, highDangerBaseVO.getNuserid(), classification, approve, startTime, endTime);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Integer flag = 0;
// 待办
/*if("20".equals(highDangerBaseVO.getStatus())){
List<HighDangerBase> statusCount = highDangerMapper.getHigDangerDealt("99",cdepartmentid,page,"%" + search + "%");
@ -204,11 +212,16 @@ public class HighDangerController {
// 遍历排查数据
for (HighDangerBase base : statusCounts) {
int delayHour = base.getDelayHour();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(base.getPcStartTime() != null){
base.setPcStartTimeStr(sdf.format(base.getPcStartTime()));
}
int delayHour = base.getDelayHour() - 1;
int delayDay = base.getDelayDay();
int nearDay = base.getNearDay();
int nearHour = base.getNearHour();
int nearHour = base.getNearHour() - 1;
// 获取审批流程列表
List<ThtApprove> processRecord = highDangerService.getProcessRecord(base.getBusinessId());
@ -234,19 +247,6 @@ public class HighDangerController {
approveTime = "二次审批";
base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
// // 第二次审批完成
// else if(Objects.equals(thtApprove.getOperateContent(), "2") && "1".equals(thtApprove.getApproveResult()) ){
// if("20".equals(base.getStatus())){
// approveTime = "已办结";
// }
// if("0".equals(thtApprove.getOperateContent()) && base.getApproveStatus().equals("1")){
// // 审批状态添加
// base.setEnumname(base.getEnumname() + "(审批中) " + format);
// }else{
// 审批状态添加
// base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
}
} else { // 已完成
@ -307,6 +307,9 @@ public class HighDangerController {
if (delayDay == 0) {
base.setDeadlineStatus("超期" + delayHour + "小时");
if(delayHour == 0){
base.setDeadlineStatus("超期不足一小时");
}
} else if (delayHour == 0) {
base.setDeadlineStatus("超期" + delayDay + "天");
} else {
@ -326,6 +329,9 @@ public class HighDangerController {
if (nearDay == 0) {
base.setDeadlineStatus("临期" + nearHour + "小时");
if(delayHour == 0){
base.setDeadlineStatus("临期不足一小时");
}
} else if (nearHour == 0) {
base.setDeadlineStatus("临期" + nearDay + "天");
} else {
@ -348,9 +354,18 @@ public class HighDangerController {
sectionDTO = highDangerMapper.getSectionByCode(base.getSectionCode());
}
if (sectionDTO.getPosition() == null) {
if (sectionDTO == null) {
sectionDTO = new SectionDTO();
HighDangerRoad highDangerRoadByBusinessId = highDangerMapper.getHighDangerRoadByBusinessId(base.getBusinessId());
if(highDangerRoadByBusinessId != null){
String coordinate = highDangerRoadByBusinessId.getCoordinate();
int lastCommaIndex = coordinate.lastIndexOf(",");
String result = coordinate.substring(0, lastCommaIndex);
sectionDTO.setPosition(result);
}else{
continue;
}
}
// 将单条路段的坐标点依次取出进行对比
String[] split = sectionDTO.getPosition().split(",");
Point Dpoint = new Point();
@ -360,21 +375,29 @@ public class HighDangerController {
point.setX(longitude);
point.setY(latitude);
if(split.length % 2 == 1){
log.info("---------------------【列表查询】排查的路段坐标有误:{}",base);
}
/*
遍历坐标字符串
字符串格式: 119.996321,36.800453,119.996309,36.800294,119.996205,36.798752
*/
for (int i = 0; i < split.length; i += 2) {
float xPoint = Float.parseFloat(split[i]);
float yPoint = Float.parseFloat(split[i + 1]);
double xPoint = Double.parseDouble(split[i]);
double yPoint = Double.parseDouble(split[i + 1]);
Map<String, Double> pointMap = new LinkedHashMap<>();
CoordinateConverter.AMap aMap = CoordinateConverter.transform(longitude, latitude);
pointMap.put("longitude", aMap.getLongitude());
pointMap.put("latitude", aMap.getLatitude());
pointList.add(pointMap);
CoordinateConverter.AMap aMap = CoordinateConverter.transform(xPoint, yPoint);
// pointMap.put("longitude", aMap.getLongitude());
// pointMap.put("latitude", aMap.getLatitude());
//
// pointList.add(pointMap);
Dpoint.setX(xPoint);
Dpoint.setY(yPoint);
Dpoint.setX(aMap.getLongitude());
Dpoint.setY(aMap.getLatitude());
// 计算两点间的距离
Double pointDistance = highDangerService.getPointDistance(Dpoint, point);
if (minDistance == null || minDistance == 0) {
@ -400,6 +423,7 @@ public class HighDangerController {
});
}
// 分页
PageInfo<HighDangerBase> pageInfo = new PageInfo<>(statusCounts);
log.info("/getHigDangerDealt(查询各个状态的数据列表)接口数据返回,调用ip: {}, 出参:{}", request.getRemoteAddr(), statusCounts);
@ -461,17 +485,27 @@ public class HighDangerController {
return ServerResponse.ok(allSection);
}*/
// 获取最近道路
// 根据坐标获取最近道路
@PostMapping("/getNearRoadInfo")
public ServerResponse<?> getNearRoad(@RequestBody Point point,
@RequestParam(defaultValue = "0") Integer type,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
HttpServletRequest request
) {
log.info("/getNearRoadInfo(获取最近道路)接口被调用,调用ip: {}, 入参:{},{},{}", request.getRemoteAddr(), point, pageNum, pageSize);
//获取三公里内的坐标
//获取三公里内的坐标(四个横纵坐标)
double[] rectangle = CoordinateUtils.getRectangleCoordinates(point.getY(), point.getX(), 3);
List<HashMap<String, Object>> combinedMap = new LinkedList<>();
HashMap<String, Object> hashMap = new HashMap<>();
Point Dpoint = new Point();
// CoordinateConverter.AMap aMap1 = CoordinateConverter.transform(point.getX(), point.getY());
// Point point1 = new Point();
// point1.setX(aMap1.getLongitude());
// point1.setY(aMap1.getLatitude());
// 获取路段
if(type == 0 || type == 2) {
// DecimalFormat df = new DecimalFormat("#.##");
// 获取全部路段数据
BigDecimal d = new BigDecimal(point.getX()).setScale(1, BigDecimal.ROUND_DOWN);
@ -480,50 +514,48 @@ public class HighDangerController {
sectionDTO.setSearch(point.getSearch());
List<SectionDTO> allRoadInfo = highDangerMapper.getAllSection(sectionDTO);
// List<SectionVO> allRoadInfo = highDangerMapper.getAllSection(sectionVO);
List<HashMap<String, Object>> combinedMap = new LinkedList<>();
HashMap<String, Object> hashMap = new HashMap<>();
Point Dpoint = new Point();
// 遍历所有路段
// 遍历所有路段,用户获取全部的道路距离信息
for (SectionDTO dto : allRoadInfo) {
HashMap<String, Object> pointMapSection = new HashMap<>();
// Map<String,Object> map = new HashMap<>();
LinkedList<Map<String, Double>> pointList = new LinkedList<>();
// 临时存储最短距离
//Double minDistance = null;
////Double minDistan/ce = null;
if (dto.getPosition() == null) {
continue;
}
// 将单条路段的坐标点依次取出进行对比
String[] split = dto.getPosition().split(",");
// 临时存储最短距离
Double minDistance = null;
for (int i = 0; i < split.length; i += 2) {
for (int i = 0; i < split.length; i += 2) {
float x = Float.parseFloat(split[i]);
float y = Float.parseFloat(split[i + 1]);
double x = Double.parseDouble(split[i]);
double y = Double.parseDouble(split[i + 1]);
Map<String, Double> pointMap = new LinkedHashMap<>();
// WGS84 转换 高德坐标
CoordinateConverter.AMap aMap = CoordinateConverter.transform(x, y);
// 获取转换后的高德坐标
pointMap.put("longitude", aMap.getLongitude());
pointMap.put("latitude", aMap.getLatitude());
pointList.add(pointMap);
if (!(x >= rectangle[0] && x <= rectangle[2] && y >= rectangle[1] && y <= rectangle[3])) {
if (!(aMap.getLongitude() >= rectangle[0] && aMap.getLongitude() <= rectangle[2] && aMap.getLatitude() >= rectangle[1] && aMap.getLatitude() <= rectangle[3])) {
continue;
}
Dpoint.setX(x);
Dpoint.setY(y);
Dpoint.setX(aMap.getLongitude());
Dpoint.setY(aMap.getLatitude());
// 计算两点间的距离
Double pointDistance = highDangerService.getPointDistance(Dpoint, point);
if (minDistance == null) {
minDistance = pointDistance;
continue;
} else {
if (pointDistance < minDistance) {
minDistance = pointDistance;
@ -575,6 +607,9 @@ public class HighDangerController {
//minDistance = null;
}
}
if(type == 0 || type == 1){
// log.info("接口被调用,接口传入参数:"+point+","+pageNum+","+pageSize);
// 获取所有路口信息
CrossingDTO crossingDTO = new CrossingDTO();
@ -592,16 +627,18 @@ public class HighDangerController {
Map<String, Double> pointMap = new HashMap<>();
LinkedList<Map<String, Double>> pointList = new LinkedList<>();
float x = cross.getLongitude();
float y = cross.getLatitude();
/*if (!(x >= rectangle[0] && x <= rectangle[2] && y >= rectangle[1] && y <= rectangle[3])){
double x = cross.getLongitude() ;
double y = cross.getLatitude();
CoordinateConverter.AMap aMap = CoordinateConverter.transform(x, y);
if (!(aMap.getLongitude() >= rectangle[0] && aMap.getLongitude() <= rectangle[2] && aMap.getLatitude() >= rectangle[1] && aMap.getLatitude() <= rectangle[3])){
continue;
}*/
Dpoint.setX(x);
Dpoint.setY(y);
}
Dpoint.setX(aMap.getLongitude());
Dpoint.setY(aMap.getLatitude());
// 计算两点间的距离
Double pointDistance = highDangerService.getPointDistance(Dpoint, point);
CoordinateConverter.AMap aMap = CoordinateConverter.transform(x, y);
pointMap.put("longitude", aMap.getLongitude());
pointMap.put("latitude", aMap.getLatitude());
pointList.add(pointMap);
@ -611,9 +648,9 @@ public class HighDangerController {
pointMapCrossing.put("type", "1");
// map.put(pointDistance, cross.getLongitude() + "," + cross.getLatitude());
pointMapCrossing.put("name", cross.getCrossingName());
combinedMap.add(pointMapCrossing);
}
}
// log.info("接口被调用,接口传入参数:"+point+","+pageNum+","+pageSize);
combinedMap.sort(new Comparator<HashMap<String, Object>>() {
@ -662,9 +699,11 @@ public class HighDangerController {
@RequestParam String ifCross,
HttpServletRequest request) {
Boolean flag = false;
SectionDTO sectionByCode = new SectionDTO();
log.info("/getDangerRoad(查询当前排查所在路段)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), businessId);
// 获取tht_hidden_danger_base表中的数据
HighDangerRoad roadInfo = highDangerMapper.getRoadInfo(businessId, ifCross);
roadInfo.setDeptId(operatorMapper.getOperatorById(roadInfo.getOperator()).getCdepartmentid());
@ -679,52 +718,82 @@ public class HighDangerController {
return ServerResponse.error("无路口和路段信息");
}
// 自定义新增路口
if(Objects.equals(roadInfo.getSectionCode(), "") && !Objects.equals(roadInfo.getCoordinate(), "")){
// 代表是自定义路口
flag = true;
sectionByCode = new SectionDTO();
sectionByCode.setPosition(roadInfo.getCoordinate());
if(Objects.equals(roadInfo.getCoordinateType(), "1")){
// 路口去掉最后的半径元素
int lastIndex = roadInfo.getCoordinate().lastIndexOf(",");
String result = roadInfo.getCoordinate().substring(0, lastIndex);
String[] split = result.split(",");
sectionByCode.setPosition(result);
}
// 自定义路段路段名
ThtSectionInfoDTO newRoadInfo = highDangerService.getNewRoadInfo(businessId);
sectionByCode.setSectionName(newRoadInfo.getRoadName());
}
if (sectionByCode.getPosition() == null) {
return ServerResponse.ok("路段点位为空", null);
}
LinkedList<Map<String, Double>> coordinateMapTemporary = new LinkedList<>();
/*
遍历String坐标点位
坐标格式119.996321,36.800453,119.996309,36.800294,119.996205,36.798752
*/
String[] split = sectionByCode.getPosition().split(",");
for (int i = 0; i < split.length; i += 2) {
//CoordinateConverter coordinateConverter = new CoordinateConverter();
Map<String, Double> pointMap = new LinkedHashMap<>();
float lon = Float.parseFloat(split[i]);
float lat = Float.parseFloat(split[i + 1]);
double lon = Double.parseDouble(split[i]);
double lat = Double.parseDouble(split[i + 1]);
CoordinateConverter.AMap aMap = CoordinateConverter.transform(lon, lat);
if(!flag){
// 非自定义坐标,是84坐标系,点位转换(转为高德地图坐标)
CoordinateConverter.AMap aMap = CoordinateConverter.transform(lon, lat);
pointMap.put("longitude", aMap.getLongitude());
pointMap.put("latitude", aMap.getLatitude());
}else{
// 判断是否是自定义字段(自定义路口存储的是高德坐标,无需转换)
pointMap.put("longitude", lon);
pointMap.put("latitude", lat);
}
// 将坐标存入map集合,用于最后整合坐标集合返回给前端
coordinateMapTemporary.add(pointMap);
}
roadInfo.setAddress(sectionByCode.getSectionName());
// 保存坐标信息
roadInfo.setSectionName(sectionByCode.getSectionName());
roadInfo.setCoordinateList(coordinateMapTemporary);
log.info("/getDangerRoad(查询当前排查所在路段)接口返回, 客户端ip: {}, 返回数据:{}", request.getRemoteAddr(), roadInfo);
if (roadInfo != null) {
return ServerResponse.ok(roadInfo);
} else {
return ServerResponse.error("无对应路口信息");
}
}
// 查询重点排查选项
@GetMapping("/getImportDangers")
public ServerResponse<?> getImportDangers(HttpServletRequest request) {
log.info("/getImportDangers(查询重点排查选项)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), "无");
List<ImportDangerDTO> importDanger = highDangerMapper.getImportDanger();
for (ImportDangerDTO importDangerDTO : importDanger) {
List<ThtDangerItems> importDangerItems = highDangerMapper.getImportDangerItems(importDangerDTO.getNid());
importDangerDTO.setDangerItems(importDangerItems);
importDangerDTO.getDangerItems().removeIf(Objects::isNull);
// Set<ThtDangerItems> set = new HashSet<>(importDangerDTO.getDangerItems());
importDangerDTO.setDangerItems(importDangerDTO.getDangerItems());
}
log.info("/getImportDangers(查询重点排查选项)接口返回, 客户端ip: {}, 返回数据:{}", request.getRemoteAddr(), importDanger);
if (importDanger != null) {
return ServerResponse.ok(importDanger);
} else {
return ServerResponse.error("无对应路口信息");
return ServerResponse.ok("无对应路口信息");
}
}
@ -812,7 +881,7 @@ public class HighDangerController {
if (importDangerInfo != null) {
return ServerResponse.ok(importDangerInfo);
} else {
return ServerResponse.error("获取二级页面信息失败");
return ServerResponse.ok("获取二级页面信息为空");
}
}
@ -844,33 +913,70 @@ public class HighDangerController {
// thtSectionInfoDTO = section.get(0);
// } else {
// if(!sectionInfo.isEmpty()){
for (int i = 0; i < sectionInfo.size(); i++) {
if (Objects.equals(sectionInfo.get(i).getIfCross(), "2")) {
SectionDTO sectionByCode = highDangerMapper.getSectionByCode(sectionInfo.get(i).getSectionCode());
sectionInfo.get(i).setSectionName(sectionByCode.getSectionName());
for (ThtSectionInfoDTO sectionInfoDTO : sectionInfo) {
// 路侧防护
List<EnumRoadType> roadTypes = highDangerService.getRoadTypes(303);
for(EnumRoadType enumType : roadTypes){
if(Objects.equals(enumType.getEnumvalue(), sectionInfoDTO.getRoadType())){
sectionInfoDTO.setRoadTypeStrValue(enumType.getEnumName());
}
}
List<EnumRoadType> roadStructure = highDangerService.getEnumValues(3119);
for(EnumRoadType enumType : roadStructure){
if(Objects.equals(enumType.getEnumvalue(), sectionInfoDTO.getRoadStructure())){
sectionInfoDTO.setRoadStructureStrValue(enumType.getEnumName());
}
}
List<EnumRoadType> sideProtec = highDangerService.getEnumValues(3127);
for(EnumRoadType enumType : sideProtec){
if(Objects.equals(enumType.getEnumvalue(), sectionInfoDTO.getSideProtec())){
sectionInfoDTO.setSideProtecStrValue(enumType.getEnumName());
}
}
List<EnumRoadType> centerSeparate = highDangerService.getEnumValues(3134);
for(EnumRoadType enumType : centerSeparate){
if(Objects.equals(enumType.getEnumvalue(), sectionInfoDTO.getCenterSeparate())){
sectionInfoDTO.setCenterSeparateStrValue(enumType.getEnumName());
}
}
// sectionInfoDTO.getRoadType();
// 没有路段名称 且 路段编号为空 -> 自定义的路段,将roadName赋值给SectionName作为道路名称展示
if (sectionInfoDTO.getSectionName() == null && sectionInfoDTO.getRoadName() != null){
sectionInfoDTO.setSectionName(sectionInfoDTO.getRoadName());
}else{
if (Objects.equals(sectionInfoDTO.getIfCross(), "2")) {
SectionDTO sectionByCode = highDangerMapper.getSectionByCode(sectionInfoDTO.getSectionCode());
sectionInfoDTO.setSectionName(sectionByCode.getSectionName());
}
if (Objects.equals(sectionInfoDTO.getIfCross(), "1")) {
List<BisRoadDTO> bisRoad = highDangerService.getBisRoadByCode(sectionInfoDTO.getRoadCode());
// List<SectionVO> sectionByCrossing = highDangerMapper.getSectionByCrossing();
sectionInfoDTO.setSectionName(bisRoad.get(0).getRoadName());
}
if (Objects.equals(sectionInfo.get(i).getIfCross(), "1")) {
sectionInfo.get(i).setSectionCode(sectionInfo.get(i).getRoadCode());
}
// 是否该排查有绑定的辖区街道信息,有则展示
List<StreetCommunity> communityByRoad = highDangerMapper.getCommunityByRoad(businessId);
if (communityByRoad != null && !communityByRoad.isEmpty()) {
StreetCommunity streetCommunity = communityByRoad.get(0);
sectionInfo.get(i).setXqcode(streetCommunity.getXqcode());
sectionInfo.get(i).setXqname(streetCommunity.getXqname());
sectionInfo.get(i).setJdcode(streetCommunity.getJdcode());
sectionInfo.get(i).setJdname(streetCommunity.getJdname());
sectionInfoDTO.setXqcode(streetCommunity.getXqcode());
sectionInfoDTO.setXqname(streetCommunity.getXqname());
sectionInfoDTO.setJdcode(streetCommunity.getJdcode());
sectionInfoDTO.setJdname(streetCommunity.getJdname());
// log.info("/getSectionInfo(获取基础数据(第一页))接口返回, 客户端ip: {}, 返回数据:{}", request.getRemoteAddr(), sectionInfo);
// return ServerResponse.ok(sectionInfoDTO);
}
}
// }
log.info("/getSectionInfo(获取基础数据(第一页))接口返回, 客户端ip: {}, 返回数据:{}", request.getRemoteAddr(), sectionInfo);
if (sectionInfo != null) {
if (!sectionInfo.isEmpty()) {
return ServerResponse.ok(sectionInfo);
} else {
return ServerResponse.ok("无基本信息内容", null);
return ServerResponse.ok("无基本信息内容", new LinkedList<>());
}
}
@ -901,7 +1007,7 @@ public class HighDangerController {
if (thtDangerItems != null) {
return ServerResponse.ok(thtDangerItems);
} else {
return ServerResponse.error("无存在问题数据");
return ServerResponse.ok("无存在问题数据");
}
}
@ -912,18 +1018,26 @@ public class HighDangerController {
public ServerResponse<?> getImportDangerDisplay(@RequestParam String businessId, HttpServletRequest request) {
log.info("/getImportDangerDisplay(排查第三页--重点排查项标签)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), businessId);
LinkedList<String> checkedList = new LinkedList<>();
HashMap<String, String> checkedMap = new HashMap<>();
// 获取绑定场景信息
List<ImportDangerDTO> item = highDangerMapper.getImportDangerDisplayItem(businessId);
List<ThtHiddenDataCollectConfigExtra> importDangerList = highDangerMapper.getImportDangerDisplay(businessId, null);
for (ThtHiddenDataCollectConfigExtra importDanger : importDangerList) {
checkedList.add(importDanger.getDangerId());
}
List<ThtHiddenDangerRoadInfo> thtHiddenDangerRoadInfoByBusinessId = highDangerMapper.getThtHiddenDangerRoadInfoByBusinessId(businessId);
for(ThtHiddenDangerRoadInfo roadInfo : thtHiddenDangerRoadInfoByBusinessId){
checkedList.add(roadInfo.getScenesId() + "-" + roadInfo.getHdTerm());
}
// 查询所有标签绑定详情页数据
// List<ThtHiddenDataCollectConfigExtra> importDangerList = highDangerMapper.getImportDangerDisplay(businessId, null,null);
// for (ThtHiddenDataCollectConfigExtra importDanger : importDangerList) {
// checkedList.add(importDanger.getScenesId() + "-" + importDanger.getDangerId());
// }
for (ImportDangerDTO importDangerDTO : item) {
List<ThtDangerItems> importDangerItemsValue = new LinkedList<>();
// 根据nid查询绑定的隐患项
List<ThtDangerItems> importDangerItems = highDangerMapper.getImportDangerItems(importDangerDTO.getNid());
for (ThtDangerItems items : importDangerItems) {
if (checkedList.contains(items.getId())) {
if (checkedList.contains(importDangerDTO.getNid() + "-" + items.getId())) {
items.setChecked("1");
}
// assert importDangerItemsValue != null;
@ -933,10 +1047,10 @@ public class HighDangerController {
}
log.info("/getImportDangerDisplay(排查第三页--重点排查项标签)接口返回, 客户端ip: {}, 返回数据:{}", request.getRemoteAddr(), item);
if (item != null) {
if (!item.isEmpty()) {
return ServerResponse.ok(item);
} else {
return ServerResponse.error("无存在问题数据");
return ServerResponse.ok("无存在问题数据");
}
}
@ -947,13 +1061,19 @@ public class HighDangerController {
public ServerResponse<?> getImportDangerDisplayDetail(@RequestParam String businessId,
@RequestParam String dangerId,
HttpServletRequest request) {
log.info("/getImportDangerDisplayDetail(排查第三页--重点排查新增标签详情数据)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), businessId);
List<ThtHiddenDataCollectConfigExtra> importDangerList = highDangerMapper.getImportDangerDisplay(businessId, dangerId);
log.info("/getImportDangerDisplayDetail(排查第三页--重点排查新增标签详情数据)接口被调用,调用ip: {}, 入参:{},{}", request.getRemoteAddr(), businessId,dangerId);
String[] split = dangerId.split("-");
List<ThtHiddenDataCollectConfigExtra> importDangerList = highDangerMapper.getImportDangerDisplay(businessId, split[0],split[1]);
for (ThtHiddenDataCollectConfigExtra extra : importDangerList){
extra.setId(extra.getDangerId());
extra.setNid(extra.getScenesId());
}
log.info("/getImportDangerDisplayDetail(排查第三页--重点排查新增标签详情数据)接口返回, 客户端ip: {}, 返回数据:{}", request.getRemoteAddr(), importDangerList);
if (importDangerList != null) {
return ServerResponse.ok(importDangerList);
} else {
return ServerResponse.error("无存在问题数据");
return ServerResponse.ok("无存在问题数据");
}
}
@ -970,26 +1090,26 @@ public class HighDangerController {
log.info("/getUserHiddenDangerList(排查第三页--存在隐患列表(用户数据回显))接口被调用,调用ip: {}, 入参:{}, pcType: {}", request.getRemoteAddr(), businessId, pcType);
List<HiddenDangerDTO> userHiddenDangerList = highDangerMapper.getUserHiddenDangerList(businessId, pcType, hdTerm);
for (int i = 0; i < userHiddenDangerList.size(); i++) {
ThtDangerItems dangerItemsById = highDangerMapper.getDangerItemsById(userHiddenDangerList.get(i).getHdTerm());
for (HiddenDangerDTO hiddenDangerDTO : userHiddenDangerList) {
if("1".equals(hiddenDangerDTO.getPcType())){
hiddenDangerDTO.setNid(hiddenDangerDTO.getScenesId());
hiddenDangerDTO.setId(hiddenDangerDTO.getHdTerm());
}
ThtDangerItems dangerItemsById = highDangerMapper.getDangerItemsById(hiddenDangerDTO.getHdTerm());
userHiddenDangerList.get(i).setSmallCategory(dangerItemsById.getParentid());
hiddenDangerDTO.setSmallCategory(dangerItemsById.getParentid());
ThtDangerItems dangerItemsById_f = highDangerMapper.getDangerItemsById(dangerItemsById.getParentid());
userHiddenDangerList.get(i).setBigCategory(dangerItemsById_f.getParentid());
hiddenDangerDTO.setBigCategory(dangerItemsById_f.getParentid());
String dangerItems = highDangerMapper.getDangerProblem(userHiddenDangerList.get(i).getBigCategory()) + "/" +
highDangerMapper.getDangerProblem(userHiddenDangerList.get(i).getSmallCategory()) + "/" +
highDangerMapper.getDangerProblem(userHiddenDangerList.get(i).getHdTerm());
userHiddenDangerList.get(i).setDangerProblem(dangerItems);
String dangerItems = highDangerMapper.getDangerProblem(hiddenDangerDTO.getBigCategory()) + "/" +
highDangerMapper.getDangerProblem(hiddenDangerDTO.getSmallCategory()) + "/" +
highDangerMapper.getDangerProblem(hiddenDangerDTO.getHdTerm());
hiddenDangerDTO.setDangerProblem(dangerItems);
}
log.info("/getUserHiddenDangerList(排查第三页--存在隐患列表(用户数据回显))接口返回, 客户端ip: {}, 返回数据:{}", request.getRemoteAddr(), userHiddenDangerList);
if (userHiddenDangerList != null) {
return ServerResponse.ok(userHiddenDangerList);
} else {
return ServerResponse.error("当前隐患排查中无存在隐患信息");
}
}
/*
@ -1007,6 +1127,7 @@ public class HighDangerController {
String ftpUrl = "ftp://" + userName + ":" + passWord + "@" + ip + ":" + port + CURRENT_DIR;
log.info("/saveManualInvestigation(保存 & 暂存人工排查)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), manualInvestigation);
Date lastModDate = new Date();
manualInvestigation.setLastModeDate(lastModDate);
@ -1018,7 +1139,7 @@ public class HighDangerController {
if (operatorById != null) {
cdepartmentid = operatorById.getCdepartmentid();
} else {
return ServerResponse.error("未找到当前用户");
return ServerResponse.ok("未找到当前用户");
}
// 新增排查
@ -1046,6 +1167,9 @@ public class HighDangerController {
highDangerBase.setApproveStatus("1");
highDangerBase.setInsertTime(date);
highDangerBase.setLastModDate(new Date());
highDangerBase.setArea(manualInvestigation.getXqcode());
highDangerBase.setReportDept(cdepartmentid);
highDangerBase.setHandleDept(cdepartmentid);
// 道路NID
highDangerRoad.setNid(nid);
@ -1055,9 +1179,20 @@ public class HighDangerController {
highDangerRoad.setSectionCode(manualInvestigation.getSectionCode());
if (Objects.equals(manualInvestigation.getIfCross(), "1")) {
highDangerRoad.setCrossCode(manualInvestigation.getSectionCode());
// 新增路口坐标
if(manualInvestigation.getPosition() != null){
highDangerRoad.setRadius("0.008218");
// 路口
highDangerRoad.setCoordinateType("1");
highDangerRoad.setCoordinate(manualInvestigation.getPosition() + ",0.008218");
}
} else {
// 路段
highDangerRoad.setCoordinateType("2");
highDangerRoad.setCoordinate(manualInvestigation.getPosition());
}
highDangerRoad.setIfCross(manualInvestigation.getIfCross());
highDangerRoad.setBelongXq(cdepartmentid);
highDangerRoad.setPcCount("0");
highDangerRoad.setLastModDate(new Date());
@ -1073,7 +1208,9 @@ public class HighDangerController {
thtTimeLineDTO.setOperator(manualInvestigation.getOperator());
// 分别插入两张表
// base表
highDangerService.insertDanger(highDangerBase);
// road表
highDangerService.insertDangerRoad(highDangerRoad);
highDangerService.insertTimeLine(thtTimeLineDTO);
@ -1085,17 +1222,20 @@ public class HighDangerController {
highDangerMapper.updateSectionCommunity(hidden_businessId, manualInvestigation.getXqcode(), manualInvestigation.getJdcode());
// 第一页:基础数据
List<ThtSectionInfoDTO> sectionInfos = highDangerMapper.getSectionInfo(hidden_businessId);
if (!sectionInfos.isEmpty()) {
// 更新基础数据(步骤1)
for (BasicInfoVO basicInfoVO : manualInvestigation.getBasicInfo()) {
basicInfoVO.setBusinessId(hidden_businessId);
highDangerMapper.updateSectionInfo(basicInfoVO);
}
} else {
// 先删除,后添加
highDangerMapper.delSectionInfo(hidden_businessId);
int flag = 0;
// 保存基础数据(步骤1)
for (BasicInfoVO basicInfoVO : manualInvestigation.getBasicInfo()) {
basicInfoVO.setIfCross(manualInvestigation.getIfCross());
//
// if(flag == 0){
// SectionDTO bisSectionBySectionCode = highDangerService.getBisSectionBySectionCode(basicInfoVO.getSectionCode());
// highDangerService.updateHiddenDangerRoad(bisSectionBySectionCode.getRoadCode(),manualInvestigation.getBusinessId());
// flag++;
// }
// 路口类型,将路口code存入 bis_section_info 表中
if (manualInvestigation.getIfCross() != null && manualInvestigation.getIfCross().equals("1")) {
basicInfoVO.setRoadCode(manualInvestigation.getSectionCode());
@ -1104,7 +1244,16 @@ public class HighDangerController {
// 插入列表
highDangerMapper.insertSectionInfo(basicInfoVO);
}
}
// if (!sectionInfos.isEmpty()) {
// // 更新基础数据(步骤1)
// for (BasicInfoVO basicInfoVO : manualInvestigation.getBasicInfo()) {
// basicInfoVO.setBusinessId(hidden_businessId);
// highDangerMapper.updateSectionInfo(basicInfoVO);
// }
// } else {
//
// }
// 判断数据库是否存在统计数据
ThtSectionTrafficDTO sectionTraffic = highDangerMapper.getSectionTraffic(hidden_businessId);
@ -1133,17 +1282,29 @@ public class HighDangerController {
// 隐患排查表--如果存在该记录则更新
highDangerMapper.deleteRoadInfo(hidden_businessId);
for (HiddenDangerDTO details : manualInvestigation.getDescribe()) {
if("1".equals(details.getPcType())){
details.setScenesId(details.getNid());
details.setHdTerm(details.getId());
}
// 随机生成UUID
String uuidString = UUID.randomUUID().toString().replace("-", "");
details.setNid(uuidString);
details.setBusinessId(hidden_businessId);
details.setPcCount(manualInvestigation.getPcCount());
ThtDangerItems dangerItemsById = highDangerMapper.getDangerItemsById(details.getHdTerm());
String dangerId = "";
if(details.getId() != null){
dangerId = details.getId();
details.setHdTerm(dangerId);
}else{
dangerId = details.getHdTerm();
}
ThtDangerItems dangerItemsById = highDangerMapper.getDangerItemsById(dangerId);
details.setSmallCategory(dangerItemsById.getParentid());
ThtDangerItems dangerItemsById_f = highDangerMapper.getDangerItemsById(dangerItemsById.getParentid());
details.setBigCategory(dangerItemsById_f.getParentid());
// 保存重点排查数据
highDangerMapper.saveDangerExtra(details);
@ -1151,7 +1312,7 @@ public class HighDangerController {
//提交的时候保存附件
if (manualInvestigation.getTemporary() == 1 && StringUtils.isNotEmpty(details.getHdPic())
|| manualInvestigation.getTemporary() == 2 && StringUtils.isNotEmpty(details.getHdPic())) {
String hdPicArr[] = details.getHdPic().split(",");
String[] hdPicArr = details.getHdPic().split(",");
for (String s : hdPicArr) {
nid = UUID.randomUUID().toString().replace("-", "");
// nid = uuid.toString().replace("-", "");
@ -1181,9 +1342,12 @@ public class HighDangerController {
thtTimeLineDTO.setTitle("隐患排查");
thtTimeLineDTO.setLastModDate(date);
thtTimeLineDTO.setOperator(manualInvestigation.getOperator());
//
ThtTimeLineDTO timeLineNid = highDangerService.getTimeLineNid(manualInvestigation.getBusinessId(), thtTimeLineDTO.getStatus());
if(timeLineNid == null){
highDangerService.insertTimeLine(thtTimeLineDTO);
}
}
/*if(!highDangerMapper.isExtraExistence(manualInvestigation.getBusinessId()).isEmpty()){
}else{
}*/
@ -1236,7 +1400,7 @@ public class HighDangerController {
return ServerResponse.ok("数据已暂存", manualInvestigation);
} else if (manualInvestigation.getTemporary() == 1) {
log.info("/saveManualInvestigation(保存 & 暂存人工排查)接口返回, 客户端ip: {}, 返回数据:{},{}", request.getRemoteAddr(), "数据已保存", manualInvestigation);
highDangerMapper.updateTemporary(hidden_businessId);
highDangerMapper.updateTemporary(hidden_businessId,new Date(),"1");
//隐患项不为空时,修改tht_hidden_danger_road
String hdFlag = "0";
if (CollectionUtils.isNotEmpty(manualInvestigation.getDescribe())) {
@ -1248,7 +1412,7 @@ public class HighDangerController {
thtAApprove.setNid(nid);
thtAApprove.setBusinessId(hidden_businessId);
thtAApprove.setOperator(manualInvestigation.getLastModeUser());
thtAApprove.setStatus("10");
thtAApprove.setStatus("0");
thtAApprove.setOperateTime(date);
thtAApprove.setOperateContent("0");
thtAApprove.setLastModDate(date);
@ -1270,7 +1434,7 @@ public class HighDangerController {
thtApproveService.save(thtAApprove);
return ServerResponse.ok("数据已新增", manualInvestigation);
} else {
return ServerResponse.error("无保存标识");
return ServerResponse.ok("无保存标识");
}
}
@ -1314,7 +1478,7 @@ public class HighDangerController {
if (operatorById != null) {
cdepartmentid = operatorById.getCdepartmentid();
} else {
return ServerResponse.error("未找到当前用户");
return ServerResponse.ok("未找到当前用户");
}
List<HighDangerBase> approvalList = highDangerService.getHigDangerApproval(cdepartmentid, search);
@ -1383,7 +1547,6 @@ public class HighDangerController {
}
}
if ("20".equals(thtApprove.getStatus())) {
if ("0".equals(thtApprove.getOperateContent())) {
thtApprove.setApprovalInfo(username + "治理提交");
@ -1669,31 +1832,94 @@ public class HighDangerController {
}
/*
首页进行中排查列表
首页排查列表数据
*/
@GetMapping("/ProcessingDangerList")
public ServerResponse<?> ProcessingList(@RequestParam String nuserId) throws ParseException {
public ServerResponse<?> ProcessingList(@RequestParam String nuserId,HttpServletRequest request) throws ParseException {
log.info("/ProcessingDangerList(首页排查中列表数据)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), nuserId);
// 获取待办数据中当前操作人不为空,且时间最近的两条数据
List<HighDangerBase> highDangerBase = highDangerMapper.ProcessingDangerList(nuserId);
for (int i = 0; i < highDangerBase.size(); i++) {
for (HighDangerBase dangerBase : highDangerBase) {
int delayHour = dangerBase.getDelayHour();
int delayDay = dangerBase.getDelayDay();
int nearDay = dangerBase.getNearDay();
int nearHour = dangerBase.getNearHour();
// 时间规范
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = dateFormat.format(highDangerBase.get(i).getPcStartTime());
String lastModDate = dateFormat.format(dangerBase.getLastModDate());
String curOperDate = dateFormat.format(dangerBase.getCurOperDate());
dangerBase.setLastModDateStr(lastModDate);
dangerBase.setCurOperDateStr(curOperDate);
// highDangerBase.get(i).setLastModDate(dateFormat.parse(dateFormat.format(highDangerBase.get(i).getLastModDate())));
// highDangerBase.get(i).setPcStartTime(dateFormat.parse(dateFormat.format(highDangerBase.get(i).getPcStartTime())));
// highDangerBase.get(i).setCurOperDate(dateFormat.parse(dateFormat.format(highDangerBase.get(i).getCurOperDate())));
// 获取单条查询数据的当前操作人id
String nuserId1 = highDangerBase.get(i).getCurOperUser();
String nuserId1 = dangerBase.getCurOperUser();
// 根据操作人id获取操作人用户名
Operator operatorById = operatorMapper.getOperatorById(nuserId1);
highDangerBase.get(i).setCuserName(operatorById.getCusername());
dangerBase.setCuserName(operatorById.getCusername());
if (dangerBase.getTimeStatus() == null || dangerBase.getTimeStatus().equals("9")) {
dangerBase.setDeadlineStatus("正常");
dangerBase.setDeadlineType("3");
}
// 超期
if (Objects.equals(dangerBase.getTimeStatus(), "1")) {
// // 获取相差的时间戳
// double timeDiffSeconds = Double.parseDouble(base.getTimeDiffEnd());
// // 计算天数
// int days = (int)Math.floor(timeDiffSeconds / (24 * 3600));
// // 计算秒数
// double remainingSeconds = timeDiffSeconds % (24 * 3600);
// // 计算小时数
// int hours = (int)Math.ceil(remainingSeconds / 3600);
if (delayDay == 0) {
dangerBase.setDeadlineStatus("超期" + delayHour + "小时");
if(delayHour == 0){
dangerBase.setDeadlineStatus("超期不足一小时");
}
} else if (delayHour == 0) {
dangerBase.setDeadlineStatus("超期" + delayDay + "天");
} else {
dangerBase.setDeadlineStatus("超期" + delayDay + "天" + delayHour + "小时");
}
dangerBase.setDeadlineType("1");
}
if (Objects.equals(dangerBase.getTimeStatus(), "2")) {
// // 获取相差的时间戳
// double timeDiffSeconds = Double.parseDouble(base.getTimeDiffStart());
// // 计算天数
// int days= (int)Math.floor(timeDiffSeconds / (24 * 3600));
// // 计算秒数
// double remainingSeconds = timeDiffSeconds % (24 * 3600);
// // 计算小时数
// int hours = (int)Math.ceil(remainingSeconds / 3600);
if (nearDay == 0) {
dangerBase.setDeadlineStatus("临期" + nearHour + "小时");
if(delayHour == 0){
dangerBase.setDeadlineStatus("临期不足一小时");
}
} else if (nearHour == 0) {
dangerBase.setDeadlineStatus("临期" + nearDay + "天");
} else {
dangerBase.setDeadlineStatus("临期" + nearDay + "天" + nearHour + "小时");
}
dangerBase.setDeadlineType("2");
}
// 展示条件
highDangerBase.get(i).setEnumname("排查中 " + format);
highDangerBase.get(i).setDeadlineStatus("正常");
dangerBase.setEnumname(dangerBase.getEnumname());
// dangerBase.setDeadlineStatus("正常");
}
log.info("/ProcessingDangerList(首页排查中列表数据)接口返回,调用ip: {}, 出参:{}", request.getRemoteAddr(), highDangerBase);
return ServerResponse.ok(highDangerBase);
}
@ -1726,4 +1952,17 @@ public class HighDangerController {
return ServerResponse.ok(highDangerBase);
}
/*
* @Description: 获取用户当前是否存在进行中的排查
* @param String
* @return:
* @Author: 云曦
* @date: 2024/10/9 15:06
*/
@GetMapping("/getInHandDanger")
@ApiOperation("取用户最新一条的排查数据")
public ServerResponse<?> getInHandDanger(@RequestParam String nuserId){
HighDangerBase inHandDanger = highDangerService.getInHandDanger(nuserId);
return ServerResponse.ok(inHandDanger);
}
}

@ -43,11 +43,11 @@ public class OperatorController {
}
@GetMapping("/getOperatorDataSum")
public ServerResponse<?> getOperatorDataSum(@RequestParam String nuserid){
public ServerResponse<?> getOperatorDataSum(@RequestParam String nuserid,
@RequestParam(value = "startTime", required = false) String startTime,
@RequestParam(value = "endTime", required = false) String endTime){
String cdepartmentid;
String departmentid = null;
Operator operatorById = operatorMapper.getOperatorById(nuserid);
if (operatorById != null) {
cdepartmentid = operatorById.getCdepartmentid();
@ -59,8 +59,7 @@ public class OperatorController {
// 取部门的前六位
departmentid = cdepartmentid.substring(0, Math.min(cdepartmentid.length(), 6));
}
List<HighDangerBaseNum> operatorDataSum = operatorMapper.getOperatorDataSum(departmentid,nuserid);
List<HighDangerBaseNum> operatorDataSum = operatorMapper.getOperatorDataSum(departmentid,nuserid,startTime,endTime);
return ServerResponse.ok(operatorDataSum);
}
}

@ -144,6 +144,11 @@ public class TricycleController {
log.info("/getTricycleInfoById(【三轮车】回显单条数据的详情信息)接口被调用, 调用ip: {}", request.getRemoteAddr());
ThtTricycleInfoBaseDTO tricycleInfoBaseById = tricycleService.getTricycleInfoBaseById(id);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String formattedDate = sdf.format(tricycleInfoBaseById.getInsertTime());
////
// tricycleInfoBaseById.setInsertTimeStr(formattedDate);
if(tricycleInfoBaseById == null){
return ServerResponse.error("单条登记信息数据获取失败");
}

@ -0,0 +1,22 @@
package com.hisense.hiatmp.server_api.job;
import com.hisense.hiatmp.server_api.cache.DistenceCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class DistanceCacheJob {
@Autowired
DistenceCache distenceCache;
// @Scheduled(cron = "0/3 * * * * ?")
// public void refreshUserCache() {
// userCache.setUserCache("username", username);
// log.info("更新username任务执行完毕,username:{}", username);
// }
}

@ -12,11 +12,11 @@ import java.util.List;
public interface ConfigMapper {
List<ModuleCustomConfig> getModuleCustomConfigList();
List<StreetCommunity> getStreetCommunity();
List<StreetCommunity> getStreetCommunity(String cdepartmentid,String search);
StreetCommunity getStreetCommunityById(@Param("xqcode") String xqcode,@Param("jdcode") String jdcode);
List<StreetCommunity> getStreetCommunityByXq(String xqcode);
List<StreetCommunity> getStreetCommunityByXq(String xqcode,String towncode, Integer roleFlag,String cdepartmentid);
List<StreetCommunity> getStreetCommunityByJd(String jdcode);

@ -0,0 +1,7 @@
package com.hisense.hiatmp.server_api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hisense.hiatmp.model.common.Department;
public interface DepartmentMapper extends BaseMapper<Department> {
}

@ -1,11 +1,14 @@
package com.hisense.hiatmp.server_api.mapper;
import com.hisense.hiatmp.model.common.*;
import com.hisense.hiatmp.model.common.DTO.GovernmentProgrammeDTO;
import com.hisense.hiatmp.model.common.DTO.SectionDTO;
import com.hisense.hiatmp.model.common.DTO.ThtAppVersionHis;
import com.hisense.hiatmp.model.common.DTO.ThtTimeLineDTO;
import com.hisense.hiatmp.model.common.VO.BasicInfoVO;
import com.hisense.hiatmp.model.common.VO.SectionVO;
import com.hisense.hiatmp.model.dmr.SectionInfo;
import com.hisense.hiatmp.model.opd.BisSection;
import com.hisense.hiatmp.server_api.model.StreetCommunity;
import io.lettuce.core.dynamic.annotation.Param;
import org.springframework.stereotype.Repository;
@ -20,6 +23,8 @@ public interface HighDangerMapper{
void insertDangerRoad(HighDangerRoad highDangerRoad);
// String getHighDangerStatusNum(@Param("postId") String postId);
// 主页获取各类型数据
List<HighDangerBaseNum> getStatusCounts(@Param("cdepartmentid") String cdepartmentid, @Param("nuserid") String nuserid,@Param("role") Integer role);
@ -71,6 +76,8 @@ public interface HighDangerMapper{
List<ThtSectionInfoDTO> getSectionInfo(String businessId);
void delSectionInfo(String businessId);
ThtSectionTrafficDTO getSectionTraffic(String businessId);
void insertSectionInfo(BasicInfoVO basicInfoVO);
@ -85,7 +92,7 @@ public interface HighDangerMapper{
ThtDangerItems getDangerItemsById(String id);
void updateTemporary(String businessId);
void updateTemporary(String businessId,Date zlEndTime,String approveStatus);
void updateDangerRoad(String hdFlag,String businessId,String pcCount,String operator);
@ -101,7 +108,7 @@ public interface HighDangerMapper{
void saveThtHiddenDataCollectConfigExtra(ThtHiddenDataCollectConfigExtra extra);
List<ThtHiddenDataCollectConfigExtra> getImportDangerDisplay(String businessId, String dangerId);
List<ThtHiddenDataCollectConfigExtra> getImportDangerDisplay(String businessId, String scenesId,String dangerId);
List<ImportDangerDTO> getImportDangerDisplayItem(String businessId);
@ -140,6 +147,8 @@ public interface HighDangerMapper{
void updateApproveStatus(@Param("businessId") String businessId,@Param("approveStatus") String approveStatus);
List<ThtHiddenDangerRoadInfo> getThtHiddenDangerRoadInfoByBusinessId(String businessId);
void updateThtHiddenDangerBaseStatus(@Param("businessId") String businessId,@Param("status") String status);
void updateRoadPcEndTime(String businessId);
@ -160,5 +169,20 @@ public interface HighDangerMapper{
HighDangerBase getCurOperator(String businessId);
ThtSectionInfoDTO getNewRoadInfo(String businessId);
HighDangerRoad getHighDangerRoadByBusinessId(String businessId);
HighDangerBase getInHandDanger(String nuserId);
void updateHiddenDangerRoad(String roadCode,String businessId);
List<BisRoadDTO> getBisRoadByCode(String roadCode);
String getXqByCode(String xqcode);
String getJdByCode(String jdcode);
GovernmentProgrammeDTO getGovernmentProgramme(String businessId);
}

@ -19,5 +19,9 @@ public interface OperatorMapper {
List<String> getRoleById(String nuserid);
List<HighDangerBaseNum> getOperatorDataSum(@Param("departmentid") String departmentid, @Param("nuserid") String nuserid);
List<HighDangerBaseNum> getOperatorDataSum(@Param("departmentid") String departmentid,
@Param("nuserid") String nuserid,
@Param("startTime") String startTime,
@Param("endTime") String endTime
);
}

@ -12,4 +12,6 @@ public interface ThtAttachsMapper {
int saveAttachs(ThtAttachs thtAttachs);
List<ThtAttachs> getAttachsByGov(@Param("businessId") String businessId, String attach);
void deleteAttache(String businessId);
}

@ -1,8 +1,11 @@
package com.hisense.hiatmp.server_api.service;
import com.hisense.hiatmp.model.common.DTO.GovernmentProgrammeDTO;
import com.hisense.hiatmp.model.common.HiddenDangerDTO;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public interface GovernmentService {
@ -10,4 +13,8 @@ public interface GovernmentService {
void getAttachsByGov(String businessId);
void deleteAttache(String businessId);
GovernmentProgrammeDTO getGovernmentProgramme(String businessId);
}

@ -6,7 +6,6 @@ import com.hisense.hiatmp.model.common.DTO.ThtTimeLineDTO;
import com.hisense.hiatmp.model.common.VO.SectionVO;
import com.hisense.hiatmp.model.dmr.Point;
import com.hisense.hiatmp.server_api.utils.CoordinateConverter;
import javafx.animation.Timeline;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@ -57,4 +56,14 @@ public interface HighDangerService {
void getCurData();
HighDangerBase getCurOperator(String businessId);
ThtSectionInfoDTO getNewRoadInfo(String businessId);
HighDangerBase getInHandDanger(String nuserId);
SectionDTO getBisSectionBySectionCode(String sectionCode);
void updateHiddenDangerRoad(String roadCode,String businessId);
List<BisRoadDTO> getBisRoadByCode(String roadCode);
}

@ -10,12 +10,12 @@ public interface IConfigService {
List<ModuleCustomConfig> getModuleCustomConfigList();
// 获取辖区街道集合
List<StreetCommunity> getStreetCommunity();
List<StreetCommunity> getStreetCommunity(String nuserid, String search);
// 获取辖区-街道回显
StreetCommunity getStreetCommunityById(String xqcode, String jdcode);
List<StreetCommunity> getStreetCommunityByXq(String xqcode);
List<StreetCommunity> getStreetCommunityByXq(String xqcode,String towncode,Integer roleFlag,String cdepartmentid);
List<StreetCommunity> getStreetCommunityByJd(String jdcode);

@ -11,4 +11,6 @@ public interface ThtAttachsService {
public int saveAttachs(ThtAttachs thtAttachs);
List<ThtAttachs> getAttachsByGov(String businessId, String attach);
void deleteAttache(String businessId);
}

@ -1,7 +1,14 @@
package com.hisense.hiatmp.server_api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hisense.hiatmp.model.common.Department;
import com.hisense.hiatmp.model.common.Operator;
import com.hisense.hiatmp.model.common.ServerResponse;
import com.hisense.hiatmp.model.common.enums.RoleEnum;
import com.hisense.hiatmp.model.dmr.LineInfo;
import com.hisense.hiatmp.server_api.mapper.ConfigMapper;
import com.hisense.hiatmp.server_api.mapper.DepartmentMapper;
import com.hisense.hiatmp.server_api.mapper.OperatorMapper;
import com.hisense.hiatmp.server_api.model.ModuleCustomConfig;
import com.hisense.hiatmp.server_api.model.StreetCommunity;
import com.hisense.hiatmp.server_api.service.IConfigService;
@ -10,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@Service
public class ConfigServiceImpl implements IConfigService {
@ -17,14 +25,51 @@ public class ConfigServiceImpl implements IConfigService {
@Autowired
private ConfigMapper configMapper;
@Autowired
private DepartmentMapper departmentMapper;
@Autowired
OperatorMapper operatorMapper;
@Override
public List<ModuleCustomConfig> getModuleCustomConfigList() {
return configMapper.getModuleCustomConfigList();
}
@Override
public List<StreetCommunity> getStreetCommunity() {
return configMapper.getStreetCommunity();
public List<StreetCommunity> getStreetCommunity(String nuserid,String search) {
// 模糊查询组装
search = "%" + search + "%";
String cdepartmentid = "";
// 查询对应部门权限
Operator operatorById = operatorMapper.getOperatorById(nuserid);
if (operatorById != null) {
if("1".equals(operatorById.getDepartmentflag())){
// cdepartmentid = operatorById.getParentdepartment();
QueryWrapper<Department> departmentQueryWrapper = new QueryWrapper<>();
departmentQueryWrapper.eq("parentdepartment",operatorById.getParentdepartment());
Department department = departmentMapper.selectOne(departmentQueryWrapper);
if("2".equals(department.getNlevel())){
return configMapper.getStreetCommunity(cdepartmentid,search);
}else{
// 取部门的前六位
cdepartmentid = cdepartmentid.substring(0, Math.min(cdepartmentid.length(), 6));
}
}else if (!Objects.equals(operatorById.getNlevel(), "2")) {
// 取部门的前六位
cdepartmentid = cdepartmentid.substring(0, Math.min(cdepartmentid.length(), 6));
}else{
return configMapper.getStreetCommunity(cdepartmentid,search);
}
cdepartmentid = operatorById.getCdepartmentid();
}else{
return null;
}
return configMapper.getStreetCommunity(cdepartmentid,search);
}
@Override
@ -32,11 +77,12 @@ public class ConfigServiceImpl implements IConfigService {
return configMapper.getStreetCommunityById(xqcode,jdcode);
}
public List<StreetCommunity> getStreetCommunityByXq(String xqcode) {
return configMapper.getStreetCommunityByXq(xqcode);
public List<StreetCommunity> getStreetCommunityByXq(String xqcode,String towncode,Integer roleFlag,String cdepartmentid) {
return configMapper.getStreetCommunityByXq(xqcode,towncode,roleFlag,cdepartmentid);
}
public List<StreetCommunity> getStreetCommunityByJd(String jdcode) {
return configMapper.getStreetCommunityByJd(jdcode);
}

@ -1,19 +1,33 @@
package com.hisense.hiatmp.server_api.service.impl;
import com.hisense.hiatmp.model.common.DTO.GovernmentProgrammeDTO;
import com.hisense.hiatmp.model.common.EnumRoadType;
import com.hisense.hiatmp.model.common.HiddenDangerDTO;
import com.hisense.hiatmp.model.common.ThtHiddenDangerRoadInfo;
import com.hisense.hiatmp.model.common.VO.GovernmentProgrammeVO;
import com.hisense.hiatmp.server_api.mapper.HighDangerMapper;
import com.hisense.hiatmp.server_api.mapper.ThtAttachsMapper;
import com.hisense.hiatmp.server_api.mapper.ThtRoadInfoMapper;
import com.hisense.hiatmp.server_api.service.GovernmentService;
import com.hisense.hiatmp.server_api.service.ThtAttachsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
@Service
public class GovernmentServiceImpl implements GovernmentService {
@Autowired
ThtRoadInfoMapper thtRoadInfoMapper;
@Autowired
ThtAttachsService thtAttachsService;
@Autowired
HighDangerMapper highDangerMapper;
@Override
public void updateRoadInfo(HiddenDangerDTO hiddenDangerDTO) {
@ -24,4 +38,44 @@ public class GovernmentServiceImpl implements GovernmentService {
public void getAttachsByGov(String businessId) {
}
@Override
public void deleteAttache(String businessId) {
thtAttachsService.deleteAttache(businessId);
}
@Override
public GovernmentProgrammeDTO getGovernmentProgramme(String businessId) {
GovernmentProgrammeDTO governmentProgramme = highDangerMapper.getGovernmentProgramme(businessId);
List<ThtHiddenDangerRoadInfo> roadInfoList = highDangerMapper.getThtHiddenDangerRoadInfoByBusinessId(businessId);
List<GovernmentProgrammeVO> programmeVOS = new LinkedList<>();
// 每条隐患信息(治理单位、治理措施)
for (ThtHiddenDangerRoadInfo roadInfo : roadInfoList){
GovernmentProgrammeVO governmentProgrammeVO = new GovernmentProgrammeVO();
if(roadInfo.getZlUnit() != null){
governmentProgrammeVO.setZlUnit(roadInfo.getZlUnit());
}
if(roadInfo.getZlMeasure() != null){
governmentProgrammeVO.setZlMeasure(roadInfo.getZlMeasure());
}
programmeVOS.add(governmentProgrammeVO);
}
governmentProgramme.setGovernmentProgramme(programmeVOS);
List<EnumRoadType> enumValues = highDangerMapper.getEnumValues(23012);
// 所属行业枚举类
for(EnumRoadType type : enumValues){
if(type.getEnumvalue().equals(governmentProgramme.getIndustry())){
governmentProgramme.setIndustryStr(type.getEnumName());
break;
}
}
// 行政辖区
String xqByCode = highDangerMapper.getXqByCode(governmentProgramme.getArea());
governmentProgramme.setAreaStr(xqByCode);
return governmentProgramme;
}
}

@ -1,6 +1,7 @@
package com.hisense.hiatmp.server_api.service.impl;
import com.hisense.hiatmp.model.common.*;
import com.hisense.hiatmp.model.common.DTO.SectionDTO;
import com.hisense.hiatmp.model.common.DTO.ThtTimeLineDTO;
import com.hisense.hiatmp.model.common.VO.SectionVO;
import com.hisense.hiatmp.server_api.mapper.HighDangerMapper;
@ -9,9 +10,7 @@ import com.hisense.hiatmp.model.dmr.Point;
import com.hisense.hiatmp.server_api.utils.CoordinateConverter;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.imageio.ImageIO;
@ -60,16 +59,16 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
@Override
public Double getPointDistance(Point point1, Point point2) {
double lat1 = Math.toRadians(point1.getX());
double lat2 = Math.toRadians(point2.getX());
double lat1 = Math.toRadians(point1.getY());
double lat2 = Math.toRadians(point2.getY());
double lng1 = Math.toRadians(point1.getY());
double lng2 = Math.toRadians(point2.getY());
double lng1 = Math.toRadians(point1.getX());
double lng2 = Math.toRadians(point2.getX());
// 纬度之差
double a = lat1 - lat2;
double a = Math.abs(lat1 - lat2);
// 经度之差
double b = lng1 - lng2;
double b = Math.abs(lng1 - lng2);
// 计算两点距离的公式
double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
@ -102,7 +101,6 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
for (Map.Entry<String, Double> entry : list) {
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;
}
@ -124,7 +122,6 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
).peek((menu) -> menu.setChildren(getChildrenData(menu, dangerItemResult))).collect(Collectors.toList());
}
private List<ThtDangerItems> getChildrenData(ThtDangerItems root, List<ThtDangerItems> all) {
List<ThtDangerItems> children = all.stream().filter(items ->
root.getId().equals(items.getParentid())
@ -320,20 +317,21 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = sdf.format(date);
// 隐患名称
highDangerBase.setName(highDangerBase.getName());
// 隐患类型
highDangerBase.setType("1");
highDangerBase.setSource("2");
highDangerBase.setFindWay("1");
highDangerBase.setArea("430182000000");
highDangerBase.setStatus("0");
highDangerBase.setFindTime(date);
highDangerBase.setOperator("admin1");
highDangerBase.setOperator(highDangerBase.getOperator());
highDangerBase.setInsertTime(date);
highDangerBase.setPcStartTime(date);
highDangerBase.setReportDept("370200000000");
highDangerBase.setHandleDept("370200000000");
highDangerBase.setDelayCount("0");
// highDangerBase.setDelayDay("0");
highDangerBase.setPcCount("1");
@ -343,7 +341,6 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
public void insertDangerRoad(HighDangerRoad highDangerRoad){
highDangerRoad.setPcCount("1");
highDangerMapper.insertDangerRoad(highDangerRoad);
}
@ -422,6 +419,23 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
return curOperator;
}
public ThtSectionInfoDTO getNewRoadInfo(String businessId) {
return highDangerMapper.getNewRoadInfo(businessId);
}
public HighDangerBase getInHandDanger(String nuserId) {
return highDangerMapper.getInHandDanger(nuserId);
}
public SectionDTO getBisSectionBySectionCode(String sectionCode){
return highDangerMapper.getSectionByCode(sectionCode);
}
public void updateHiddenDangerRoad(String roadCode,String businessId){
highDangerMapper.updateHiddenDangerRoad(roadCode,businessId);
}
// public Map<String, Map<Double,String>> sortMapByValue(HashMap<String, Object> unsortedMap) {
// Map<String, Map<Double,String>> sortedMap = new LinkedHashMap<>();
@ -431,7 +445,7 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
// .forEachOrdered(entry -> sortedMap.put(entry.getKey(), entry.getValue()));
// return sortedMap;
// }
public List<BisRoadDTO> getBisRoadByCode(String roadCode){
return highDangerMapper.getBisRoadByCode(roadCode);
}
}

@ -4,6 +4,7 @@ import com.hisense.hiatmp.model.common.DTO.ThtApproveConfig;
import com.hisense.hiatmp.model.common.DTO.ThtTimeLineDTO;
import com.hisense.hiatmp.model.common.HighDangerBase;
import com.hisense.hiatmp.model.common.ThtApprove;
import com.hisense.hiatmp.model.common.ThtHiddenDangerRoadInfo;
import com.hisense.hiatmp.model.common.VO.ThtApproveVO;
import com.hisense.hiatmp.server_api.mapper.HighDangerMapper;
import com.hisense.hiatmp.server_api.mapper.ThtApproveMapper;
@ -58,7 +59,6 @@ public class ThtApproveServiceImpl implements ThtApproveService {
thtApprove.setOperateTime(date);
thtApprove.setReason(thtApproveVO.getReason());
HighDangerBase hiddenDangerBaseById = highDangerMapper.getHiddenDangerBaseById(thtApproveVO.getBusinessId());
// 查询最大审批次数
@ -76,12 +76,18 @@ public class ThtApproveServiceImpl implements ThtApproveService {
// 排查提交 最后审批结束
if(Objects.equals(thtApprove.getStatus(), "10" ) || Objects.equals(thtApprove.getStatus(), "0")){
List<ThtHiddenDangerRoadInfo> thtHiddenDangerRoadInfoByBusinessId = highDangerMapper.getThtHiddenDangerRoadInfoByBusinessId(thtApproveVO.getBusinessId());
if(thtHiddenDangerRoadInfoByBusinessId.isEmpty()){
highDangerMapper.updateThtHiddenDangerBaseStatus(thtApprove.getBusinessId(),"50");
highDangerMapper.updateApproveStatus(thtApprove.getBusinessId(), "0");
timeLineNid = saveTimeLine(thtApproveVO.getBusinessId(), "50","非隐患",thtApproveVO.getNuserid());
}else{
highDangerMapper.updateThtHiddenDangerBaseStatus(thtApprove.getBusinessId(),"60");
highDangerMapper.updateApproveStatus(thtApprove.getBusinessId(), "0");
// thtApprove.setStatus("60");
highDangerMapper.updateRoadPcEndTime(thtApproveVO.getBusinessId());
timeLineNid = saveTimeLine(thtApproveVO.getBusinessId(), "60", "治理方案", thtApproveVO.getNuserid());
}
} else if (Objects.equals(thtApprove.getStatus(), "60")) { // 治理方案
highDangerMapper.updateThtHiddenDangerBaseStatus(thtApprove.getBusinessId(),"20");
highDangerMapper.updateApproveStatus(thtApprove.getBusinessId(), "0");
@ -96,13 +102,14 @@ public class ThtApproveServiceImpl implements ThtApproveService {
highDangerMapper.updateRoadZlEndTime(thtApproveVO.getBusinessId());
}
}else{
} else {
// int i = Integer.parseInt(hiddenDangerBaseById.getApproveStatus()) + 1;
ThtTimeLineDTO timeLineNid1 = highDangerMapper.getTimeLineNid(thtApproveVO.getBusinessId(), thtApprove.getStatus());
if(timeLineNid1 != null){
timeLineNid = timeLineNid1.getNid();
// 审批次数加一
highDangerMapper.updateApproveStatus( thtApprove.getBusinessId() , String.valueOf(2));
}
}
}

@ -24,4 +24,9 @@ public class ThtAttachsServiceImpl implements ThtAttachsService {
return thtAttachsMapper.getAttachsByGov(businessId,attach);
}
@Override
public void deleteAttache(String businessId) {
thtAttachsMapper.deleteAttache(businessId);
}
}

@ -57,7 +57,6 @@ public class TricycleServiceImpl implements TricycleService {
tricycleList.get(i).setVillageCommunity(streetCommunityBySq.getSqname());
tricycleList.get(i).setStreetCommunity(streetCommunityBySq.getJdname());
}
return tricycleList;
}
@ -65,9 +64,7 @@ public class TricycleServiceImpl implements TricycleService {
@Override
public List<TricycleWarningListVO> getTricycleWarningList(String cdepartmentid, int roleFlag, String status,String search) {
List<TricycleWarningListVO> tricycleWarningList = tricycleWarningBaseMapper.getTricycleWarningList(cdepartmentid, roleFlag, status,search);
// List<TricycleListVO> tricycleList = tricycleInfoBaseMapper.getTricycleList(roleFlag, cdepartmentid,stauts);
// List<TricycleListVO> tricycleList = tricycleInfoBaseMapper.getTricycleList(roleFlag, cdepartmentid,stauts);
//
// for (int i = 0; i < tricycleList.size(); i++) {
// String villageCommunity = tricycleList.get(i).getVillageCommunity();
@ -79,13 +76,12 @@ public class TricycleServiceImpl implements TricycleService {
// tricycleList.get(i).setStreetCommunity(streetCommunityBySq.getJdname());
// }
return tricycleWarningList;
return tricycleWarningBaseMapper.getTricycleWarningList(cdepartmentid, roleFlag, status,search);
}
@Override
public int saveTricycleInfo(ThtTricycleInfoBaseDTO infoBaseDTO) {
ThtTricycleInfoBaseDTO tricycleInfoBaseById = tricycleInfoBaseMapper.getTricycleInfoBaseById(infoBaseDTO.getVehicleId());
if(tricycleInfoBaseById != null) {
infoBaseDTO.setStatus("1");
@ -142,7 +138,6 @@ public class TricycleServiceImpl implements TricycleService {
}
public List<TricycleWarningDetailVO> getWarningDetails(String warningId){
return tricycleWarningBaseMapper.getWarningDetails(warningId);
}

@ -15,6 +15,40 @@ public class CoordinateConverter {
*/
private static double ee = 0.00669342162296594323;
/**
* 地球半径单位m
*/
private static final double EARTH_RADIUS = 6378137;
/**
* 根据经纬度计算两点间的距离
*
* @param longitude1 第一个点的经度
* @param latitude1 第一个点的纬度
* @param longitude2 第二个点的经度
* @param latitude2 第二个点的纬度
* @return 返回距离单位m
*/
public static double getDistance(double longitude1, double latitude1, double longitude2, double latitude2) {
// 纬度
double lat1 = Math.toRadians(latitude1);
double lat2 = Math.toRadians(latitude2);
// 经度
double lng1 = Math.toRadians(longitude1);
double lng2 = Math.toRadians(longitude2);
// 纬度之差
double a = lat1 - lat2;
// 经度之差
double b = lng1 - lng2;
// 计算两点距离的公式
double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
Math.cos(lat1) * Math.cos(lat2) * Math.pow(Math.sin(b / 2), 2)));
// 弧长乘地球半径, 返回单位: 米
s = s * EARTH_RADIUS;
return s;
}
/**
* 经纬度 GPS转高德
*

@ -35,10 +35,10 @@ public class CoordinateUtils {
}
public static void main(String[] args) {
/*double[] rectangle = getRectangleCoordinates(39.910922, 116.401735, 3); // 北京天安门坐标,3公里范围
double[] rectangle = getRectangleCoordinates(39.910922, 116.401735, 3); // 北京天安门坐标,3公里范围
System.out.println("最小经度: " + rectangle[0]);
System.out.println("最小纬度: " + rectangle[1]);
System.out.println("最大经度: " + rectangle[2]);
System.out.println("最大纬度: " + rectangle[3]);*/
System.out.println("最大纬度: " + rectangle[3]);
}
}

@ -51,43 +51,54 @@ public class FTPUtils {
boolean returnValue = false;
String url ="";
try {
// byte[] bytes = fileName.getBytes("ISO-8859-1");
// fileName = new String(bytes, "UTF-8");
// fileName = java.net.URLEncoder.encode(fileName,"UTF-8").replace("+", "%20");
ftpClient.setControlEncoding("ISO-8859-1");
// 建立连接
log.info("ftp链接开始。。。。");
connectToServer();
// 设置传输二进制文件
setFileType(FTP.BINARY_FILE_TYPE);
int reply = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
log.info("FTP断开链接。。。。");
throw new IOException("failed to connect to the FTP Server:" + ip);
}
/*ftpClient.enterLocalPassiveMode();*/
//ftpClient.changeWorkingDirectory(CURRENT_DIR);
String date = DateUtil.format(new Date(),"yyyyMMdd");
//ftpClient.makeDirectory(CURRENT_DIR + "/" + date);
//进入文件目录
log.info("进入FTP文件目录:{}", CURRENT_DIR);
ftpClient.changeWorkingDirectory(CURRENT_DIR);
ftpClient.setBufferSize(1024 * 1024 * 10);
ftpClient.enterLocalPassiveMode();
// 上传文件到ftp
returnValue = ftpClient.storeFile(fileName, buffIn);
log.info("上传文件信息。。。。{}", returnValue);
if (needDelete) {
ftpClient.deleteFile(fileName);
}
// 输出操作结果信息
if (returnValue) {
System.out.println("uploadToFtp INFO: upload file to ftp : succeed!");
log.info("uploadToFtp INFO: upload file to ftp : succeed!");
} else {
System.out.println("uploadToFtp INFO: upload file to ftp : failed!");
log.info("uploadToFtp INFO: upload file to ftp : failed!");
}
url = ftpHttpUrl + fileName;
buffIn.close();
// 关闭连接
closeConnect();
} catch (FTPConnectionClosedException e) {
System.out.println("ftp连接被关闭!");
log.info("ftp连接被关闭!");
throw e;
} catch (Exception e) {
returnValue = false;
System.out.println("ERR : upload file to ftp : failed! ");
log.info("ERR : upload file to ftp : failed! ");
throw e;
} finally {
try {
@ -95,7 +106,7 @@ public class FTPUtils {
buffIn.close();
}
} catch (Exception e) {
System.out.println("ftp关闭输入流时失败!");
log.info("ftp关闭输入流时失败!");
}
if (ftpClient.isConnected()) {
closeConnect();
@ -134,9 +145,9 @@ public class FTPUtils {
}
// 输出操作结果信息
if (returnValue) {
System.out.println("uploadToFtp INFO: upload file to ftp : succeed!");
log.info("uploadToFtp INFO: upload file to ftp : succeed!");
} else {
System.out.println("uploadToFtp INFO: upload file to ftp : failed!");
log.info("uploadToFtp INFO: upload file to ftp : failed!");
}
inputStream.close();
}
@ -144,11 +155,11 @@ public class FTPUtils {
// 关闭连接
closeConnect();
} catch (FTPConnectionClosedException e) {
System.out.println("ftp连接被关闭!");
log.info("ftp连接被关闭!");
throw e;
} catch (Exception e) {
returnValue = false;
System.out.println("ERR : upload file to ftp : failed! ");
log.info("ERR : upload file to ftp : failed! ");
throw e;
} finally {
if (ftpClient.isConnected()) {
@ -180,10 +191,10 @@ public class FTPUtils {
in = ftpClient.retrieveFileStream(filename);
} catch (FTPConnectionClosedException e) {
System.out.println("ftp连接被关闭!");
log.info("ftp连接被关闭!");
throw e;
} catch (Exception e) {
System.out.println("ERR : upload file " + filename + " from ftp : failed!");
log.info("ERR : upload file " + filename + " from ftp : failed!");
}
return in;
@ -193,7 +204,7 @@ public class FTPUtils {
try {
ftpClient.setFileType(fileType);
} catch (Exception e) {
System.out.println("ftp设置传输文件的类型时失败!");
log.info("ftp设置传输文件的类型时失败!");
}
}
@ -205,8 +216,7 @@ public class FTPUtils {
ftpClient.disconnect();
}
} catch (Exception e) {
System.out.println("ftp连接关闭失败!");
log.info("ftp连接关闭失败!");
}
}
@ -217,22 +227,20 @@ public class FTPUtils {
ftpClient = new FTPClient();
ftpClient.setControlEncoding("UTF-8");
ftpClient.enterLocalPassiveMode();
// ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
ftpClient.connect(ip, port);
ftpClient.login(userName, passWord);
reply = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
System.out.println("connectToServer FTP server refused connection.");
log.info("connectToServer FTP server refused connection.");
}
} catch (FTPConnectionClosedException ex) {
System.out.println("没有连接数!there are too many connected users,please try later");
log.info("没有连接数!there are too many connected users,please try later");
throw ex;
} catch (Exception e) {
System.out.println("登录ftp服务器失败");
log.info("登录ftp服务器失败");
throw e;
}
}

@ -29,7 +29,7 @@ spring:
primary:
jdbc-url: jdbc:postgresql://118.89.79.160:5432/postgres
username: postgres
password: postgres
password: sdsj5432
# 下面为数据库连接池相关参数,一般不需修改
driver-class-name: org.postgresql.Driver
type: com.alibaba.druid.pool.DruidDataSource
@ -51,14 +51,20 @@ spring:
# timeout: 10000
#ftp配置
ftp:
username: thtapp
password: thtapp
host: 123.56.124.174
port: 8221
# username: thtapp
# password: thtapp
# host: 123.56.124.174
# port: 8221
username: lybluer
password: lybluer
host: 118.89.79.160
port: 21
#currentdir: /ftpdate/hisense_ftp_directory/
currentdir: /
ftp-http:
url: http://123.56.124.174:8021/
# url: http://123.56.124.174:8021/
# url: http://219.147.31.25:30001/tht-app-ftp/tht/
url: http://118.89.79.160:39001/
pagehelper:
helper-dialect: postgresql
reasonable: true
@ -66,7 +72,6 @@ pagehelper:
default-page-size: 10
params: count=countSql
# 登录过期时间
#expiration:
#time: 60 * 60 * 24

@ -9,7 +9,7 @@
</select>
<select id="getStreetCommunity" resultType="com.hisense.hiatmp.server_api.model.StreetCommunity">
select DISTINCT xqcode,xqname,jdcode,jdname from tlv_street_community;
select DISTINCT on (xqcode) xqcode,xqname,jdcode,jdname from tlv_street_community where 1 = 1 and xqname like #{search} and xqcode like concat(concat(#{cdepartmentid}::text,'%'));
</select>
<select id="getStreetCommunityById" resultType="com.hisense.hiatmp.server_api.model.StreetCommunity">
@ -24,6 +24,8 @@
<if test="jdcode != null and jdcode != ''">
AND jdcode = #{jdcode}
</if>
ORDER BY
xqcode
</select>
<select id="getStreetCommunityByXq" resultType="com.hisense.hiatmp.server_api.model.StreetCommunity">
@ -31,9 +33,22 @@
jdname,jdcode,xqcode,xqname
from
tlv_street_community
<if test="xqcode != ''">
where xqcode = #{xqcode}
where
1 = 1
<if test="towncode != null and towncode != ''">
and jdcode = #{towncode}
</if>
<if test="xqcode != null and xqcode != ''">
and xqcode = #{xqcode}
</if>
<if test="roleFlag == 1">
AND sqcode = #{cdepartmentid}
</if>
<if test="roleFlag == 2">
AND zdcode = #{cdepartmentid}
</if>
ORDER BY
jdcode
</select>
<select id="getStreetCommunityByJd" resultType="com.hisense.hiatmp.server_api.model.StreetCommunity">
@ -41,8 +56,10 @@
*
from
tlv_street_community
where
1 = 1
<if test="jdcode != ''">
where jdcode = #{jdcode}
AND jdcode = #{jdcode}
</if>
</select>
@ -68,11 +85,10 @@
<if test="crossingCode != null and crossingCode != ''">
br.road_name AS section_name,
br.road_code AS section_code,
MAX ( width ) width,
MAX ( width ) * 2 width,
MAX ( speed ) speed,
CAST ( SUM ( lane_num ) / COUNT ( 1 ) * 2 AS INT ) AS lane_num
</if>
from
bis_section bs
<if test="crossingCode != null and crossingCode != ''">

@ -10,7 +10,7 @@
<select id="getVehicleColorEnum" resultType="com.hisense.hiatmp.model.dmr.EnumType">
SELECT x.* FROM public.enum_type x
WHERE enumname like '%%' and enumtypeid ='745' order by enumname
WHERE enumname like '%%' and enumtypeid ='745' order by enumvalue
</select>
<select id="getVehicleInsuranceEnum" resultType="com.hisense.hiatmp.model.dmr.EnumType">
@ -20,13 +20,12 @@
<select id="getVehicleStatusEnum" resultType="com.hisense.hiatmp.model.dmr.EnumType">
SELECT x.* FROM public.enum_type x
WHERE enumname like '%%' and enumtypeid ='132' order by enumname
WHERE enumname like '%%' and enumtypeid ='132' order by enumvalue
</select>
<select id="getVehicleAuthorizedModelEnum" resultType="com.hisense.hiatmp.model.dmr.EnumType">
SELECT x.* FROM public.enum_type x
WHERE enumtypeid ='9140013' order by enumname
WHERE enumtypeid ='24002' order by enumname
</select>
</mapper>

@ -55,8 +55,10 @@
if_cross,
cross_code,
belong_xq,
last_mod_date
)
last_mod_date,
coordinate,
coordinate_type,
radius)
values (#{nid},
#{businessId},
#{sectionCode},
@ -64,14 +66,15 @@
#{ifCross},
#{crossCode},
#{belongXq},
NOW()
)
NOW(),
#{coordinate},
#{coordinateType},
#{radius})
</insert>
<select id="getStatusCounts" resultType="com.hisense.hiatmp.model.common.HighDangerBaseNum">
SELECT
'Approve' AS status,-- 待审批
'Approve' AS status,
COUNT ( 0 )
FROM
(
@ -163,7 +166,8 @@
hdr.cross_code,
COALESCE ( hdb.last_mod_date, hdb.insert_time ) AS hdb_last_mode_date,
COALESCE ( hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value :: INTEGER ) AS planEndTime,
COALESCE ( hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value :: INTEGER ) - INTERVAL '3 day' AS nearEndTime,
COALESCE ( hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value :: INTEGER ) - INTERVAL '3
day' AS nearEndTime,
bs.section_name,
bs.section_code
FROM
@ -189,7 +193,6 @@
t1.planEndTime ASC
) tmp_count
UNION ALL
SELECT 'Government' AS status, COUNT
@ -240,7 +243,8 @@
hdr.cross_code,
COALESCE ( hdb.last_mod_date, hdb.insert_time ) AS hdb_last_mode_date,
COALESCE ( hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value :: INTEGER ) AS planEndTime,
COALESCE ( hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value :: INTEGER ) - INTERVAL '3 day' AS nearEndTime,
COALESCE ( hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value :: INTEGER ) - INTERVAL '3
day' AS nearEndTime,
bs.section_name,
bs.section_code
FROM
@ -306,7 +310,7 @@
</if>
<![CDATA[
AND NOW() >= COALESCE ( hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value :: INTEGER )
AND hdb.status = '10'
AND hdb.status in ('0','10')
AND hdr.nid is not null
AND COALESCE(hdb.approve_status,'0')IN('0','-1')
]]>
@ -321,6 +325,7 @@
hdb.business_id = hdr.business_id AND hdb.pc_count = hdr.pc_count
LEFT JOIN department dp ON hdb.handle_dept = dp.cdepartmentid
LEFT JOIN enum_type et ON et.ENUMTYPEID = '6601' AND et.enumvalue = hdb.status
WHERE
1 = 1
<if test="cdepartmentid != null">
@ -388,7 +393,6 @@
<!-- </select>-->
<select id="getHigDangerDealt" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
SELECT
<if test="status != 60">
CASE
@ -407,10 +411,12 @@
,
</if>
t1.*
FROM (SELECT hdb.nid
FROM (SELECT hdb.nid,
hdb.last_mod_date
, hdb.name
, hdb.pc_start_time
, hdb.pc_end_time
, hdb.zl_start_time
, hdb.business_id
, hdb."type"
, hdb."report_dept"
@ -425,9 +431,8 @@
, hdr.if_cross
, hdr.cross_code
, COALESCE(hdb.last_mod_date, hdb.insert_time) as hdb_last_mode_date
<!-- <if test="status == '60' and approve == 2">-->
<!-- , ta.nid as ta_nid-->
<!-- </if>-->
<if test="status != '60'">
<if test="status != '60'">
, COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
::INTEGER) AS planEndTime
@ -435,6 +440,7 @@
::INTEGER) -
INTERVAL '3 day' AS nearEndTime
</if>
</if>
, bs.section_name
, bs.section_code
FROM tht_hidden_danger_base hdb
@ -472,7 +478,7 @@
</if>-->
WHERE
1 = 1
AND hdr.nid is not null
<if test="status == '10' and approve == 1">
AND hdb.status in ('0','10')
AND COALESCE(hdb.approve_status,'0')IN('0','-1')
@ -486,33 +492,6 @@
AND hdb.approve_status in ('1','2')
</if>
<if test="status == 10 and approve == 2">
and hdb.business_id in(
select ta.business_id from tht_approve ta
where ta.operator=#{nuserId}
and ta.operate_content='0'
and ta.status in ('10','0')
)
</if>
<if test="status == 20 and approve == 2">
and hdb.business_id in(
select ta.business_id from tht_approve ta
WHERE ta.operator=#{nuserId}
and ta.operate_content='0'
and ta.status ='20')
</if>
<if test="status == 60 and approve == 2">
and hdb.business_id in(
select ta.business_id from tht_approve ta
WHERE ta.operator=#{nuserId}
and ta.operate_content in ('-1','1','2')
and ta.status in ('10','0','20','30','40','50','60')
)
</if>
AND hdr.nid is not null
<if test="cdepartmentid != null and cdepartmentid != ''">
AND hdr.belong_xq like concat(concat(#{cdepartmentid},'%'))
</if>
@ -527,17 +506,11 @@
<if test="status != '60' and approve == 1 and classification == 1">
-- 时间最早
Order by CASE
WHEN hdb.last_mod_date IS NULL AND hdb.insert_time IS NULL THEN 1
ELSE 0 END,
COALESCE(hdb.last_mod_date, hdb.insert_time) DESC
Order by hdb.pc_start_time ASC
</if>
<if test="status != '60' and approve == 1 and classification == 2">
-- 时间最晚
Order by CASE
WHEN hdb.last_mod_date IS NULL AND hdb.insert_time IS NULL THEN 1
ELSE 0 END,
COALESCE(hdb.last_mod_date, hdb.insert_time) ASC
-- 时间最新
Order by hdb.pc_start_time DESC
</if>
<if test="approve == 2 and classification == 2">
AND hdb.source = '2'
@ -546,24 +519,74 @@
AND hdb.source = '1'
</if>
<if test="status == '60' and approve == 2">
/*order by ta.operate_time desc*/
<if test="status == 10 and approve == 2">
and hdb.business_id in(
select ta.business_id from tht_approve ta
where ta.operator=#{nuserId}
and
(
ta.operate_content='0'
or ta.approve_result != '-1'
)
and ta.status in ('10','0')
)
and hdb.approve_status != '-1'
<!-- <if test="approve == 2">-->
ORDER BY
COALESCE(hdb.last_mod_date,hdb.insert_time) desc,
hdb.name asc
<!-- </if>-->
</if>
<if test="status == '60' and approve == 1">
<if test="status == 20 and approve == 2">
and hdb.business_id in(
select ta.business_id from tht_approve ta
WHERE ta.operator=#{nuserId}
and
(
ta.operate_content='0'
or ta.approve_result != '-1'
)
and ta.status ='20')
and hdb.approve_status != '-1'
ORDER BY
COALESCE(hdb.last_mod_date,hdb.insert_time) desc,
hdb.name asc
</if>
) t1
<if test="status == 60 and approve == 2">
and hdb.business_id in(
select ta.business_id from tht_approve ta
WHERE ta.operator=#{nuserId}
and ta.operate_content in ('-1','1','2')
and ta.status in ('10','0','20','30','40','50','60')
)
</if>
<!-- <if test="status != '60'">-->
<if test="status == '60'">
/*order by ta.operate_time desc*/
ORDER BY
COALESCE(hdb.last_mod_date,hdb.insert_time) desc,
hdb.name asc
</if>
<!-- <if test="status == '60' and approve == 1">-->
<!-- ORDER BY-->
<!-- time_status asc,-->
<!-- t1.planEndTime asc-->
<!-- COALESCE(hdb.last_mod_date,hdb.insert_time) desc,-->
<!-- hdb.name asc-->
<!-- </if>-->
<!-- <if test="approve == 2">-->
<!-- ORDER BY-->
<!-- COALESCE(hdb.last_mod_date,hdb.insert_time) desc,-->
<!-- hdb.name asc-->
<!-- </if>-->
) t1
<!-- <if test="status != '60'">-->
<!-- ORDER BY-->
<!-- time_status asc,-->
<!-- t1.planEndTime asc-->
<!-- </if>-->
</select>
@ -586,7 +609,6 @@
</if>
</select>
<select id="getHigDangerDetail" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
SELECT DISTINCT hdb.*, hdr.coordinate, hdr.coordinate_type
FROM tht_hidden_danger_base hdb
@ -610,8 +632,10 @@
length,
area_code,
position
FROM bis_section
where 1 = 1
FROM
bis_section
where
1 = 1
<if test="search != null and search != ''">
AND section_name like concat(concat('%',#{search}),'%')
</if>
@ -624,8 +648,10 @@
resultType="com.hisense.hiatmp.model.common.CrossingDTO">
SELECT
*
FROM bis_crossing
where 1 = 1
FROM
bis_crossing
where
1 = 1
<if test="search != null and search != ''">
AND crossing_name like concat(concat('%',#{search}),'%')
</if>
@ -644,23 +670,19 @@
</select>
<select id="getSectionByCrossing" resultType="com.hisense.hiatmp.model.common.VO.SectionVO">
select
br.road_name as section_name,
select br.road_name as section_name,
br.road_code as section_code,
max(width) width,
max(width) * 2 width,
max(speed) speed,
cast(sum(lane_num) / count(1) * 2 as int) as lane_num
from
bis_section bs
from bis_section bs
inner join bis_road br on
bs.road_code = br.road_code
where
bs.isactive = 1
where bs.isactive = 1
and (bs.up_crossing_code = #{crossingCode}
or bs.down_crossing_code = #{crossingCode}
)
group by
br.road_name,
group by br.road_name,
br.road_code
-- ,br.road_standard_type
</select>
@ -688,7 +710,7 @@
<if test="ifCross == 2">
thdr.section_code,
</if>
thdr.if_cross, thdr.coordinate
thdr.if_cross, thdr.coordinate,thdr.coordinate_type,thdr.radius
from tht_hidden_danger_base thdb
left join tht_hidden_danger_road thdr on thdr.business_id = thdb.business_id
where thdb.business_id = #{businessId}
@ -707,18 +729,11 @@
<select id="getImportDanger" resultType="com.hisense.hiatmp.model.common.ImportDangerDTO">
SELECT DISTINCT *
from tht_hidden_scenes;
from tht_hidden_scenes
order by "order"
;
</select>
<!-- <update id="saveSection">-->
<!-- update tht_hidden_danger_road thdr-->
<!-- set-->
<!-- address = #{address},-->
<!-- coordinate = #{coordinate}-->
<!-- where business_id = #{businessId}-->
<!-- </update>-->
<update id="saveSection">
update tht_hidden_danger_road thdr
set address = #{address},
@ -764,12 +779,19 @@
</select>
<select id="getSectionInfo" resultType="com.hisense.hiatmp.model.common.ThtSectionInfoDTO">
SELECT tsi.*,thdr.if_cross
SELECT tsi.*, thdr.if_cross, thdb.name
FROM tht_section_info tsi
LEFT JOIN tht_hidden_danger_road thdr ON tsi."BUSINESS_ID" = thdr.business_id
LEFT JOIN tht_hidden_danger_base thdb ON tsi."BUSINESS_ID" = thdb.business_id
WHERE tsi."BUSINESS_ID" = #{businessId}
</select>
<delete id="delSectionInfo">
delete
from tht_section_info
where "BUSINESS_ID" = #{businessId}
</delete>
<select id="getCommunityByRoad" resultType="com.hisense.hiatmp.server_api.model.StreetCommunity">
Select tsc.*
from tlv_street_community tsc
@ -813,11 +835,12 @@
"DESIGN_SPEED",
"LIMIT_SPEED",
<if test="ifCross == 1">
"ROAD_CODE"
"ROAD_CODE",
</if>
<if test="ifCross == 2">
"SECTION_CODE"
"SECTION_CODE",
</if>
"ROAD_NAME"
)
values (nextval('test_id_seq'),
#{businessId},
@ -829,7 +852,8 @@
#{centerSeparate},
#{designSpeed},
#{limitSpeed},
#{sectionCode}
#{sectionCode},
#{roadName}
);
</insert>
@ -842,9 +866,14 @@
"SIDE_PROTEC" = #{sideProtec},
"CENTER_SEPARATE" = #{centerSeparate},
"DESIGN_SPEED" = #{designSpeed},
"LIMIT_SPEED" = #{limitSpeed}
"LIMIT_SPEED" = #{limitSpeed},
"ROAD_NAME" = #{roadName}
where "BUSINESS_ID" = #{businessId}
and "SECTION_CODE" = #{sectionCode}
and (
"SECTION_CODE" = #{sectionCode}
or "ROAD_CODE" = #{roadCode}
or "ROAD_NAME" = #{roadName}
)
</update>
<insert id="insertSectionTraffic">
@ -879,7 +908,8 @@
<update id="updateTemporary">
update tht_hidden_danger_base
set last_mod_date = NOW(),
approve_status = '1'
zl_end_time = #{zlEndTime},
approve_status = #{approveStatus}
where business_id = #{businessId}
</update>
@ -899,15 +929,15 @@
<insert id="saveDangerExtra">
INSERT INTO tht_hidden_danger_road_info (nid, business_id, big_category, small_category, hd_term, hd_desc,
pc_count, hd_pic, hd_info, pc_type, last_mod_date)
pc_count, hd_pic, hd_info, pc_type,scenes_id, last_mod_date)
VALUES (#{nid}, #{businessId}, #{bigCategory}, #{smallCategory}, #{hdTerm},
#{hdDesc}, #{pcCount}, #{hdPic}, #{hdInfo}, #{pcType}, NOW())
#{hdDesc}, #{pcCount}, #{hdPic}, #{hdInfo}, #{pcType},#{scenesId}, NOW())
</insert>
<insert id="saveRoad">
insert into bis_road ("road_code", "road_name", "position", "last_mod_date")
values (#{roadCode}, #{roadName}, #{position}, NOW())
values (#{roadCode}, #{roadName}, #{position},NOW())
</insert>
<delete id="deleteRoadInfo">
@ -927,13 +957,14 @@
("nid", "itemid", "order", "type", "name", "standar", "unit", "business_id", "scenes_id", "pc_count",
"danger_id")
values (nextval('test_id_seq2'), #{itemid}, #{order}, #{type}, #{name}, #{standar}, #{unit}, #{businessId},
#{scenesId}, #{pcCount}, #{dangerId})
#{nid}, #{pcCount}, #{id})
</insert>
<select id="getImportDangerDisplay" resultType="com.hisense.hiatmp.model.common.ThtHiddenDataCollectConfigExtra">
select * from tht_hidden_data_collect_config_extra where business_id = #{businessId}
<if test="dangerId != null">
<if test="dangerId != null and scenesId != null">
and danger_id = #{dangerId}
and scenes_id = #{scenesId}
</if>
</select>
@ -954,15 +985,17 @@
<select id="getUserHiddenDangerList" resultType="com.hisense.hiatmp.model.common.HiddenDangerDTO">
SELECT
*
thdri.*,
thdb.zl_end_time
FROM
tht_hidden_danger_road_info
tht_hidden_danger_road_info thdri
LEFT JOIN tht_hidden_danger_base thdb on thdb.business_id = #{businessId}
where
business_id = #{businessId}
thdri.business_id = #{businessId}
and
pc_type = #{pcType}
thdri.pc_type = #{pcType}
<if test="hdTerm != null and hdTerm != ''">
AND hd_term = #{hdTerm}
AND thdri.hd_term = #{hdTerm}
</if>
</select>
@ -991,14 +1024,14 @@
select *
from bis_enum_type
where enumtype_id = #{enumType}
order by dispindex, enum_name
order by dispindex, enum_value
</select>
<select id="getEnumValues" resultType="com.hisense.hiatmp.model.common.EnumRoadType">
select *
from enum_type
where enumtypeid = #{enumType}
order by dispindex, enumname
order by dispindex, enumvalue
</select>
<select id="getSectionByCode" resultType="com.hisense.hiatmp.model.common.DTO.SectionDTO">
@ -1021,9 +1054,10 @@
#{lastModDate})
</select>
<select id="getTimeLineNid" resultType="com.hisense.hiatmp.model.common.DTO.ThtTimeLineDTO">
select *
select DISTINCT
on (status)
*
from tht_timeline
where business_id = #{businessId}
and status = #{status}
@ -1098,8 +1132,7 @@
select *
from tht_approve
where business_id = #{businessId}
order by operate_time
limit 1
order by operate_time limit 1
</select>
<select id="getHiddenDangerBaseById" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
@ -1108,6 +1141,13 @@
where business_id = #{businessId}
</select>
<select id="getThtHiddenDangerRoadInfoByBusinessId"
resultType="com.hisense.hiatmp.model.common.ThtHiddenDangerRoadInfo">
select *
from tht_hidden_danger_road_info
where business_id = #{businessId}
</select>
<update id="updateApproveStatus">
update tht_hidden_danger_base
set approve_status = #{approveStatus},
@ -1163,15 +1203,79 @@
</update>
<select id="ProcessingDangerList" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
select
hdb.*, hdr.cross_code, hdr.if_cross
from tht_hidden_danger_base hdb
LEFT JOIN tht_hidden_danger_road hdr on hdr.business_id = hdb.business_id
where hdb.cur_oper_user = #{nuserId}
and hdb.status in ('0', '10')
and hdb.approve_status in ('-1', '0')
order by hdb.cur_oper_date DESC limit 2
SELECT CASE
<![CDATA[
WHEN now() AT TIME ZONE 'Asia/Shanghai' < COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL
'1 day' * tpc.param_value
::INTEGER) -
INTERVAL '3 day' THEN 9 WHEN now() AT TIME ZONE 'Asia/Shanghai' >= COALESCE(hdb.pc_end_time
, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER) -
INTERVAL '3 day' AND now() AT TIME ZONE 'Asia/Shanghai' <= COALESCE (hdb.pc_end_time
, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER) THEN 2
WHEN now() AT TIME ZONE 'Asia/Shanghai' >= COALESCE (hdb.pc_end_time
, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER) THEN 1
]]>
END
AS time_status,
hdb.*,
et.enumname,
hdr.cross_code,
hdr.if_cross,
bs.section_code,
bs.section_name,
floor(EXTRACT(EPOCH FROM(now() AT TIME ZONE 'Asia/Shanghai' - COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER)))/(1440*60)) delayDay
, ceil(mod(ceil(EXTRACT(EPOCH FROM(now() AT TIME ZONE 'Asia/Shanghai' -COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER))))::INTEGER ,
1440*60)::FLOAT/3600) delayHour
, floor(EXTRACT(EPOCH FROM(COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER) -now() AT TIME ZONE 'Asia/Shanghai'))/(1440*60)) nearDay
, ceil(mod(ceil(EXTRACT(EPOCH FROM(COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER) -now() AT TIME ZONE 'Asia/Shanghai')))::INTEGER ,
1440*60)::FLOAT/3600) nearHour,
COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
:: INTEGER) AS planEndTime,
COALESCE(hdb.pc_end_time, hdb.pc_start_time + INTERVAL '1 day' * tpc.param_value
::INTEGER) -
INTERVAL '3 day' AS nearEndTime
FROM tht_hidden_danger_base hdb
LEFT JOIN tht_hidden_danger_road hdr ON hdr.business_id = hdb.business_id
LEFT JOIN enum_type et ON et.ENUMTYPEID = '6601'
AND et.enumvalue = hdb.status
LEFT JOIN tht_param_config tpc ON tpc.param_code = 'THT_PC_ROAD_XT'
LEFT JOIN bis_section bs ON hdr.section_code = bs.section_code
WHERE 1 = 1
AND hdb.cur_oper_user =
#{nuserId}
AND
hdb
.
status
IN
(
'0',
'10'
)
AND
hdb
.
approve_status
IN
(
'-1',
'0'
)
ORDER
BY
hdb
.
cur_oper_date
DESC
LIMIT
2
</select>
<select id="getNewestVersion" resultType="com.hisense.hiatmp.model.common.DTO.ThtAppVersionHis">
@ -1185,4 +1289,61 @@
from tht_hidden_danger_base
where business_id = #{businessId}
</select>
<select id="getNewRoadInfo" resultType="com.hisense.hiatmp.model.common.ThtSectionInfoDTO">
SELECT *
FROM tht_section_info
WHERE "BUSINESS_ID" = #{businessId}
AND ("SECTION_CODE" IS NULL OR "SECTION_CODE" = '')
AND ("ROAD_CODE" IS NULL OR "ROAD_CODE" = '')
</select>
<select id="getHighDangerRoadByBusinessId" resultType="com.hisense.hiatmp.model.common.HighDangerRoad">
SELECT *
FROM tht_hidden_danger_road
WHERE business_id = #{businessId}
</select>
<select id="getInHandDanger" resultType="com.hisense.hiatmp.model.common.HighDangerBase">
SELECT *
FROM tht_hidden_danger_base
WHERE approve_status in ('-1', '0')
and cur_oper_user = #{nuserId}
ORDER BY cur_oper_date DESC LIMIT 1
</select>
<update id="updateHiddenDangerRoad">
update tht_hidden_danger_road
set road_code = #{roadCode}
where business_id = #{businessId}
</update>
<select id="getBisRoadByCode" resultType="com.hisense.hiatmp.model.common.BisRoadDTO">
SELECT * FROM "bis_road" where "road_code" = #{roadCode}
</select>
<!-- <select id="getXqByCode" resultType="com.hisense.hiatmp.server_api.model.StreetCommunity">-->
<select id="getXqByCode" resultType="String">
SELECT DISTINCT xqname FROM "tlv_street_community" where "xqcode" = #{xqcode}
</select>
<select id="getJdByCode" resultType="String">
SELECT DISTINCT jdname FROM "tlv_street_community" where "jdcode" = #{jdcode}
</select>
<select id="getGovernmentProgramme" resultType="com.hisense.hiatmp.model.common.DTO.GovernmentProgrammeDTO">
SELECT thdr.lead_unit,
thdr.industry,
thdb.area,
thdr.zl_target,
thdr.zl_method,
thdr.zl_day
FROM tht_hidden_danger_road thdr
left join tht_hidden_danger_base thdb on thdb.business_id = thdr.business_id
where thdr.business_id = #{businessId}
and thdb.status = '20'
</select>
</mapper>

@ -10,7 +10,7 @@
</select>
<select id="getOperatorById" resultType="com.hisense.hiatmp.model.common.Operator">
select o.*,d.cdepartmentname,d.nlevel
select o.*,d.cdepartmentname,d.nlevel,d.parentdepartment,d.departmentflag
from operator o
LEFT JOIN department d on o.cdepartmentid = d.cdepartmentid
where o.nuserid = #{nuserid}
@ -40,8 +40,8 @@
(
SELECT
CASE
<![CDATA[
WHEN
<![CDATA[
now( ) AT TIME ZONE'Asia/Shanghai' < t1.nearEndTime THEN
9
WHEN now( ) AT TIME ZONE'Asia/Shanghai' >= t1.nearEndTime
@ -67,6 +67,7 @@
hdb.NAME,
hdb.pc_start_time,
hdb.pc_end_time,
hdb.zl_start_time,
hdb.business_id,
hdb."type",
hdb."report_dept",
@ -102,13 +103,19 @@
FROM
tht_approve ta
WHERE
ta.OPERATOR = #{nuserid}
AND ta.operate_content = '0'
1 = 1
and ta.OPERATOR = #{nuserid}
AND ( ta.operate_content = '0' OR ta.approve_result != '-1' )
AND ta.status IN ( '10', '0' )
<if test="departmentid != null">
AND hdr.belong_xq like concat(concat(#{departmentid}::text,'%'))
</if>
<if test="startTime != null and startTime !=''">
and COALESCE(hdb.last_mod_date, hdb.insert_time) &gt;= to_date(#{startTime}, 'yyyy-MM-DD')
and COALESCE(hdb.last_mod_date, hdb.insert_time) &lt;= to_date(#{endTime}, 'yyyy-MM-DD') + 1
</if>
)
AND hdb.approve_status != '-1'
AND hdr.nid IS NOT NULL
) t1
ORDER BY
@ -125,8 +132,7 @@
SELECT
CASE
<![CDATA[
WHEN
now( ) AT TIME ZONE'Asia/Shanghai' < t1.nearEndTime THEN
WHEN now( ) AT TIME ZONE'Asia/Shanghai' < t1.nearEndTime THEN
9
WHEN now( ) AT TIME ZONE'Asia/Shanghai' >= t1.nearEndTime
AND now( ) AT TIME ZONE'Asia/Shanghai' <= t1.planEndTime THEN
@ -134,6 +140,7 @@
WHEN now( ) AT TIME ZONE'Asia/Shanghai' >= t1.planEndTime THEN
1
END AS time_status,
]]>
FLOOR ( EXTRACT ( EPOCH FROM ( now( ) AT TIME ZONE'Asia/Shanghai' - planEndTime ) ) / ( 1440 * 60 ) ) delayDay,
CEIL (
MOD ( CEIL ( EXTRACT ( EPOCH FROM ( now( ) AT TIME ZONE'Asia/Shanghai' - planEndTime ) ) ) :: INTEGER, 1440 * 60 ) :: FLOAT / 3600
@ -142,7 +149,6 @@
CEIL (
MOD ( CEIL ( EXTRACT ( EPOCH FROM ( planEndTime - now( ) AT TIME ZONE'Asia/Shanghai' ) ) ) :: INTEGER, 1440 * 60 ) :: FLOAT / 3600
) nearHour,
]]>
t1.*
FROM
(
@ -151,6 +157,7 @@
hdb.NAME,
hdb.pc_start_time,
hdb.pc_end_time,
hdb.zl_start_time,
hdb.business_id,
hdb."type",
hdb."report_dept",
@ -180,11 +187,25 @@
LEFT JOIN tht_param_config tpc ON tpc.param_code = 'THT_ZL_ROAD_XT'
WHERE
1 = 1
AND hdb.business_id IN ( SELECT ta.business_id FROM tht_approve ta WHERE ta.OPERATOR =#{nuserid} AND ta.operate_content = '0' AND ta.status = '20' )
AND hdr.nid IS NOT NULL
AND hdb.business_id IN (
SELECT
ta.business_id
FROM
tht_approve ta
WHERE
ta.OPERATOR = #{nuserid}
AND ( ta.operate_content = '0' OR ta.approve_result != '-1' )
AND ta.status = '20'
<if test="departmentid != null">
AND hdr.belong_xq like concat(concat(#{departmentid}::text,'%'))
</if>
<if test="startTime != null and startTime !=''">
and COALESCE(hdb.last_mod_date, hdb.insert_time) &gt;= to_date(#{startTime}, 'yyyy-MM-DD')
and COALESCE(hdb.last_mod_date, hdb.insert_time) &lt;= to_date(#{endTime}, 'yyyy-MM-DD') + 1
</if>
)
AND hdb.approve_status != '-1'
AND hdr.nid IS NOT NULL
) t1
ORDER BY
time_status ASC,
@ -242,6 +263,10 @@
</if>
)
AND hdr.nid IS NOT NULL
<if test="startTime != null and startTime !=''">
and COALESCE(hdb.last_mod_date, hdb.insert_time) &gt;= to_date(#{startTime}, 'yyyy-MM-DD')
and COALESCE(hdb.last_mod_date, hdb.insert_time) &lt;= to_date(#{endTime}, 'yyyy-MM-DD') + 1
</if>
) t1
</select>
</mapper>

@ -34,5 +34,10 @@
select * from tht_Attachs where business_id = #{businessId} and attach_type = #{attach}
</select>
<delete id="deleteAttache">
delete
from tht_attachs
where business_id = #{businessId}
and attach_type in ('5','6','7')
</delete>
</mapper>

@ -6,12 +6,10 @@
<select id="getTricycleList" resultType="com.hisense.hiatmp.model.common.VO.TricycleListVO">
select ttib.id,
ttib.*
<if test="roleFlag != 3">
,jd.jdname,sq.sqname
</if>
from
tht_tricycle_info_base ttib
<if test="roleFlag != 3">
left join (
select distinct jdcode,jdname from
tlv_street_community
@ -20,7 +18,6 @@
select distinct sqcode,sqname from
tlv_street_community
) sq on sq.sqcode=ttib.village_community
</if>
where
1 = 1
<if test="roleFlag == 1">
@ -41,12 +38,19 @@
AND ttib.status = #{status}
</if>
<if test="search != null and search != ''">
AND ttib.vehicle_license like concat(concat('%',#{search}),'%')
AND
(
ttib.vehicle_license like concat(concat('%',#{search}),'%')
OR ttib.driver_name like concat(concat('%',#{search}),'%')
OR jd.jdname like concat(concat('%',#{search}),'%')
OR sq.sqname like concat(concat('%',#{search}),'%')
OR ttib.driver_phone like concat(concat('%',#{search}),'%')
OR ttib.driver_address like concat(concat('%',#{search}),'%')
)
</if>
Order by
ttib.driver_name COLLATE "zh_CN.utf8" ASC
</select>
<!-- <select id="getTricycleList" resultType="com.hisense.hiatmp.model.common.VO.TricycleListVO">-->
<!-- select DISTINCT ttib.id,-->
<!-- ttib.*-->
@ -75,7 +79,6 @@
<select id="getTricycleInfoBaseById" resultType="com.hisense.hiatmp.model.common.DTO.ThtTricycleInfoBaseDTO">
select * from tht_tricycle_info_base where vehicle_id = #{vehicleId}
</select>
</mapper>

@ -12,8 +12,8 @@ public class CrossingDTO implements Serializable {
private String crossingCode;
private String crossingName;
private String area;
private Float longitude;
private Float latitude;
private Double longitude;
private Double latitude;
private Double lonMin;
private Double latMin;
private Double lonMax;

@ -0,0 +1,38 @@
package com.hisense.hiatmp.model.common.DTO;
import com.hisense.hiatmp.model.common.VO.GovernmentProgrammeVO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class GovernmentProgrammeDTO implements Serializable {
private static final long serialVersionUID = 1L;
// 牵头单位
private String leadUnit;
// 行政辖区 code
private String area;
// 行政辖区 name
private String areaStr;
// 所属行业
private String industry;
private String industryStr;
// 治理目标
private String zlTarget;
// 治理方法
private String zlMethod;
// 预计治理时间
private String zlDay;
// 治理方案(附件)
private String zlProgramme;
// 每条隐患问题
private List<GovernmentProgrammeVO> governmentProgramme;
}

@ -4,6 +4,9 @@ import lombok.Data;
import java.io.Serializable;
/**
* 道路
*/
@Data
public class SectionDTO implements Serializable {
@ -16,9 +19,10 @@ public class SectionDTO implements Serializable {
private String sectionName;
private Float width;
private Float length;
private String area_code;
private String areaCode;
private String position;
private String search;
private String roadName;
// private String upCrossingCode;
// private String downCrossingCode;
// private String description;

@ -3,8 +3,10 @@ package com.hisense.hiatmp.model.common.DTO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.persistence.Transient;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@ -108,8 +110,16 @@ public class ThtTricycleInfoBaseDTO implements Serializable {
/**
* insert_time
*/
// @JsonIgnore
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
private Date insertTime;
/**
* insert_time
*/
// @Transient
// private String insertTimeStr;
/**
* register_status
*/

@ -20,6 +20,7 @@ public class HiddenDangerDTO implements Serializable {
private String hdDesc;
private String zlUnit;
private String zlMeasure;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
private Date wcTime;
private Date lastModDate;
@ -27,8 +28,12 @@ public class HiddenDangerDTO implements Serializable {
private String hdInfo;
private String dangerProblem;
private String pcType;
private String zlEndTime;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
private Date zlTime;
private String zlPic;
private String scenesId;
private String id;
}

@ -84,9 +84,11 @@ public class HighDangerBase implements Serializable {
* pc_start_time
*/
@JsonIgnore
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pcStartTime;
private String pcStartTimeStr;
/**
* pc_end_time
*/
@ -100,7 +102,7 @@ public class HighDangerBase implements Serializable {
/**
* zl_start_time
*/
@JsonIgnore
// @JsonIgnore
private String zlStartTime;
/**
@ -148,12 +150,11 @@ public class HighDangerBase implements Serializable {
/**
* pc_count
*/
@JsonIgnore
private String pcCount;
private String ifCross;
private String pcType;
/**
* split_id
*/
@ -187,18 +188,33 @@ public class HighDangerBase implements Serializable {
*/
private String approveStatus;
private String pcType;
/**
* last_mod_date
*/
@JsonIgnore
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String planEndTime;
/**
* last_mod_date
*/
@JsonIgnore
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date lastModDate;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String lastModDateStr;
// 临期时间
private Long deadline;
// 临期状态
// 天数
private String deadlineStatus;
// 临期状态
private String deadlineType;
// 路段坐标
@ -242,8 +258,11 @@ public class HighDangerBase implements Serializable {
private String curOperUser;
@JsonIgnore
private Date curOperDate;
private String curOperDateStr;
private String crossCode;
private String enumname;

@ -51,6 +51,10 @@ public class HighDangerRoad implements Serializable {
private String sectionCode;
private String roadCode;
private String xzjd;
private String pointType;
private String belongXq;
@ -87,10 +91,16 @@ public class HighDangerRoad implements Serializable {
@JsonIgnore
private String coordinate;
private String coordinateType;
private String radius;
private Date lastModDate;
private String crossCode;
private String sectionName;
private List<Map<String,Double>> coordinateList;
// 地址类型

@ -16,8 +16,11 @@ public class ManualInvestigation implements Serializable {
private static final long serialVersionUID = 1L;
// 用户
String operator;
String businessId;
private String operator;
private String businessId;
// 路口路段坐标
private String position;
// 第一页,基本信息
List<BasicInfoVO> basicInfo;

@ -31,4 +31,10 @@ public class Operator implements Serializable {
private String nlevel;
@JsonIgnore
private String parentdepartment;
@JsonIgnore
private String departmentflag;
}

@ -1,8 +1,4 @@
package com.hisense.hiatmp.model.common;
import com.hisense.hiatmp.model.i18n.I18nUtils;
import org.springframework.util.StringUtils;

@ -19,11 +19,11 @@ public class ThtApprove implements Serializable {
String operator;
String status;
String timelineNid;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
Date operateTime;
String operateContent;
String approveResult;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
Date lastModDate;
String approvalInfo;
String reason;

@ -83,5 +83,7 @@ public class ThtHiddenDangerRoadInfo implements Serializable {
*/
private String hdInfo;
private String scenesId;
public ThtHiddenDangerRoadInfo() {}
}

@ -1,6 +1,7 @@
package com.hisense.hiatmp.model.common;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@ -42,6 +43,8 @@ public class ThtHiddenDataCollectConfigExtra implements Serializable {
private String pcCount;
// @TableField("danger_id")
private String id;
private String dangerId;
// // 重点排查-存在隐患

@ -22,67 +22,116 @@ public class ThtSectionInfoDTO implements Serializable {
*/
private String nid;
private String name;
/**
* BUSINESS_ID
*/
private String businessId;
private final String businessIdStr = "隐患主键";
private String sectionCode;
private final String sectionCodeStr = "道路ID";
private String sectionName;
private final String sectionNameStr = "道路名称";
/**
* ROAD_TYPE
*/
private String roadType;
private final String roadTypeStr = "道路类型";
private String roadTypeStrValue;
/**
* ROAD_WIDTH
*/
private String roadWidth;
private final String roadWidthStr = "道路宽度";
/**
* LANE_COUNT
*/
private String laneCount;
private final String laneCountStr = "车道数";
/**
* ROAD_STRUCTURE
* 枚举3119
*/
private String roadStructure;
private final String roadStructureStr = "路面结构";
private String roadStructureStrValue;
/**
* SIDE_PROTEC
* 枚举3127
*/
private String sideProtec;
private String sideProtecStrValue;
private final String sideProtecStr = "路侧防护";
/**
* CENTER_SEPARATE
* 枚举3134
*/
private String centerSeparate;
private String centerSeparateStrValue;
private final String centerSeparateStr = "中央隔离";
/**
* DESIGN_SPEED
*/
private String designSpeed;
private final String designSpeedStr = "设计速度";
/**
* LIMIT_SPEED
*/
private String limitSpeed;
private final String limitSpeedStr = "限速";
// 辖区id
private String xqcode;
private final String xqcodeStr = "辖区code";
// 辖区名称
private String xqname;
private final String xqnameStr = "辖区code";
// 街道id
private String jdcode;
private final String jdcodeStr = "街道名称";
// 街道名称
private String jdname;
private final String jdnameStr = "街道名称";
private String ifCross;
private final String ifCrossStr = "是否是路口(1 路口 2 路段)";
private String roadCode;
private final String roadCodeStr = "路口对应道路CODE";
private String roadName;
private final String roadNameStr = "自定义路口名称";
public ThtSectionInfoDTO() {}
}

@ -21,4 +21,6 @@ public class BasicInfoVO implements Serializable {
private String limitSpeed;
private String roadCode;
private String ifCross;
private String roadName;
}

@ -0,0 +1,10 @@
package com.hisense.hiatmp.model.common.VO;
import lombok.Data;
@Data
public class GovernmentProgrammeVO {
private String zlUnit;
private String zlMeasure;
}

@ -1,18 +1,29 @@
package com.hisense.hiatmp.model.common.VO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hisense.hiatmp.model.common.HiddenDangerDTO;
import com.hisense.hiatmp.model.common.ThtHiddenDataCollectConfigExtra;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class GovernmentVO {
// 隐患主键
String businessId;
// 用户id`
String nuserid;
// 验收图片
String acceptancePhotos;
// 验收材料
String acceptanceData;
List<HiddenDangerDTO> describe;
// 暂存标识
String temporary;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
Date zlEndTime;
// 治理内容
List<HiddenDangerDTO> describe;
}

@ -40,5 +40,4 @@ public class FaceMeasureHistory {
@ApiModelProperty(name = "含带的指令")
private List<PoliceCaseLogVo> policeCaseLogList;
}

@ -22,6 +22,8 @@ public class LineInfo {
private String speed;
// 道路长度
private String length;
// 区域编码
private String areaCode;
private String linePosition;
private String lineModel;
@ -30,6 +32,9 @@ public class LineInfo {
private String xqcode;
private String jdcode;
private String xqname;
private String jdname;
private List<SectionInfo> sectionList;
}

@ -4,7 +4,7 @@ import lombok.Data;
@Data
public class Point {
private float x;
private float y;
private double x;
private double y;
private String search;
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save