Browse Source

首次提交

lyq 1 year ago
commit
59cdf214d0
100 changed files with 7223 additions and 0 deletions
  1. 128 0
      pom.xml
  2. 45 0
      src/main/java/com/sooka/sponest/mobile/SookaMobileApplication.java
  3. 13 0
      src/main/java/com/sooka/sponest/mobile/aop/NoRepeatSubmit.java
  4. 54 0
      src/main/java/com/sooka/sponest/mobile/aop/NoRepeatSubmitAop.java
  5. 18 0
      src/main/java/com/sooka/sponest/mobile/aop/UrlCache.java
  6. 526 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/controller/AppBigDataController.java
  7. 249 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/controller/AppBigDataCountController.java
  8. 15 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/CenterdataTEnvironmentRyList.java
  9. 33 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/ForestCloudRYList.java
  10. 16 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/EnvironmentCloudRYBO.java
  11. 20 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/EnvironmentCloudRyZxUerIdBO.java
  12. 16 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/ForestCloudRYBO.java
  13. 20 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/ForestCloudRyZxUerIdBO.java
  14. 70 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/KeyProjectsScheduleBO.java
  15. 24 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/VisuForestResourceBO.java
  16. 18 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/VisualBO.java
  17. 34 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/BaseESBO.java
  18. 15 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/CameraVO.java
  19. 43 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/ForestCloudMapVO.java
  20. 22 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/VisuFireSendingSMSVo.java
  21. 31 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/VisuForestCloudMapVO.java
  22. 18 0
      src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/VisuForestDataCenterVO.java
  23. 97 0
      src/main/java/com/sooka/sponest/mobile/base/controller/AppAttendanceController.java
  24. 108 0
      src/main/java/com/sooka/sponest/mobile/base/controller/AppBaseController.java
  25. 18 0
      src/main/java/com/sooka/sponest/mobile/base/database/DynamicDataSource.java
  26. 35 0
      src/main/java/com/sooka/sponest/mobile/base/database/DynamicDataSourceAspect.java
  27. 45 0
      src/main/java/com/sooka/sponest/mobile/base/database/DynamicDataSourceSwitcher.java
  28. 4 0
      src/main/java/com/sooka/sponest/mobile/base/database/GlobalTransactionalRabbitMQ.java
  29. 145 0
      src/main/java/com/sooka/sponest/mobile/base/database/MultipleDataSourceConfig.java
  30. 14 0
      src/main/java/com/sooka/sponest/mobile/base/database/MyDataSource.java
  31. 11 0
      src/main/java/com/sooka/sponest/mobile/base/domain/AppBaseBO.java
  32. 10 0
      src/main/java/com/sooka/sponest/mobile/base/domain/AppBaseVO.java
  33. 34 0
      src/main/java/com/sooka/sponest/mobile/base/domain/AppUserLocusVO.java
  34. 52 0
      src/main/java/com/sooka/sponest/mobile/base/domain/CenterdataTHydraulicPatrolPlanRecord.java
  35. 81 0
      src/main/java/com/sooka/sponest/mobile/base/domain/CenterdataTHydraulicPatrolTask.java
  36. 39 0
      src/main/java/com/sooka/sponest/mobile/base/domain/CenterdataTHydraulicTrack.java
  37. 96 0
      src/main/java/com/sooka/sponest/mobile/base/domain/ModulesServiceNameContants.java
  38. 52 0
      src/main/java/com/sooka/sponest/mobile/base/domain/SysAttendance.java
  39. 58 0
      src/main/java/com/sooka/sponest/mobile/base/service/AppAttendanceService.java
  40. 201 0
      src/main/java/com/sooka/sponest/mobile/base/service/impl/AppAttendanceServiceImpl.java
  41. 80 0
      src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/CarController.java
  42. 81 0
      src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/CarRepairController.java
  43. 87 0
      src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/FireHydrantController.java
  44. 90 0
      src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/WaterCraneController.java
  45. 89 0
      src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/WaterIntakeController.java
  46. 132 0
      src/main/java/com/sooka/sponest/mobile/data/commoncontroller/commonController.java
  47. 24 0
      src/main/java/com/sooka/sponest/mobile/data/commoncontroller/domain/AppDigitalForestVO.java
  48. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/AgriculturalMachineryInfoController.java
  49. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/AlongController.java
  50. 85 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/BotanyProtectInfoController.java
  51. 68 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/BreedingFarmController.java
  52. 64 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/CesspitCollectController.java
  53. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ChemicalFertilizerInfoController.java
  54. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ContractManagementController.java
  55. 85 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/CooperativesController.java
  56. 112 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/DataController.java
  57. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/EnterpriseController.java
  58. 85 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ExcrementdisposeController.java
  59. 86 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/FilingsLivestockController.java
  60. 77 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/GarbageTransferController.java
  61. 85 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/GreenhousefilmController.java
  62. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ImplementsInfoController.java
  63. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/InformationController.java
  64. 85 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/LivestockController.java
  65. 76 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/MachineryInfoController.java
  66. 86 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ModificationController.java
  67. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/PlantInfoController.java
  68. 76 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/PreventionController.java
  69. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ScheduleController.java
  70. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SeedInfoController.java
  71. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SeedingProgressController.java
  72. 76 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SeedlingProgressController.java
  73. 75 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SowingScheduleController.java
  74. 78 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SubsidyInfoController.java
  75. 78 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SuperviseController.java
  76. 78 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/TrainController.java
  77. 82 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/TrashCanController.java
  78. 35 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/domain/VisuBaseService.java
  79. 16 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/service/IDataService.java
  80. 59 0
      src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/service/impl/DataServiceImpl.java
  81. 82 0
      src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyEnterprisesController.java
  82. 87 0
      src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyMaterialController.java
  83. 83 0
      src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyTeamController.java
  84. 82 0
      src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyWarehouseController.java
  85. 88 0
      src/main/java/com/sooka/sponest/mobile/data/digitalenvironmentcontroller/PollutionSourceController.java
  86. 88 0
      src/main/java/com/sooka/sponest/mobile/data/digitalenvironmentcontroller/SewageOutletController.java
  87. 87 0
      src/main/java/com/sooka/sponest/mobile/data/digitalenvironmentcontroller/WaterMonitorController.java
  88. 83 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolBasicLinkageForceController.java
  89. 93 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFireKeyPlacesController.java
  90. 87 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFirePressureSensorController.java
  91. 93 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFireforceController.java
  92. 89 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFoamLiquidController.java
  93. 88 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFulltimeStationController.java
  94. 86 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolOtherLinkageForceController.java
  95. 80 0
      src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolPersonController.java
  96. 83 0
      src/main/java/com/sooka/sponest/mobile/data/digitalforestController/AfforestationController.java
  97. 80 0
      src/main/java/com/sooka/sponest/mobile/data/digitalforestController/ChangBrandController.java
  98. 92 0
      src/main/java/com/sooka/sponest/mobile/data/digitalforestController/ChannelController.java
  99. 89 0
      src/main/java/com/sooka/sponest/mobile/data/digitalforestController/FireTeamController.java
  100. 0 0
      src/main/java/com/sooka/sponest/mobile/data/digitalforestController/ForestResourcesController.java

+ 128 - 0
pom.xml

@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>com.ruoyi</groupId>
+        <artifactId>ruoyi-modules</artifactId>
+        <version>3.4.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.sooka.onest</groupId>
+    <artifactId>sooka-mobile</artifactId>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-api-data</artifactId>
+            <version>3.4.0</version>
+        </dependency>
+
+        <!-- Hutool -->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.8.2</version>
+        </dependency>
+
+        <!-- SpringCloud Alibaba Nacos -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+
+        <!-- SpringCloud Alibaba Nacos Config -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+
+        <!-- SpringCloud Alibaba Sentinel -->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
+        </dependency>
+
+        <!-- Sentinel Datasource Nacos -->
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-datasource-nacos</artifactId>
+        </dependency>
+
+        <!-- Swagger UI -->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>${swagger.fox.version}</version>
+        </dependency>
+
+        <!-- Mysql Connector -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common DataSource -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-datasource</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common DataScope -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-datascope</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common Log -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-log</artifactId>
+        </dependency>
+
+        <!-- RuoYi Common Swagger -->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>sooka-sponest-common-swagger</artifactId>
+        </dependency>
+
+        <!--极光-->
+        <dependency>
+            <groupId>cn.jpush.api</groupId>
+            <artifactId>jpush-client</artifactId>
+            <version>3.2.17</version>
+        </dependency>
+
+        <!--极光推送-->
+        <dependency>
+            <groupId>cn.jpush.api</groupId>
+            <artifactId>jiguang-common</artifactId>
+            <version>1.0.3</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <finalName>${project.artifactId}</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.1.5.RELEASE</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 45 - 0
src/main/java/com/sooka/sponest/mobile/SookaMobileApplication.java

@@ -0,0 +1,45 @@
+package com.sooka.sponest.mobile;
+
+import com.ruoyi.common.security.annotation.EnableCustomConfig;
+import com.ruoyi.common.security.annotation.EnableRyFeignClients;
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
+import com.sooka.sponest.mobile.remoteapi.EnableSookaFeignClients;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.web.servlet.MultipartConfigFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.util.unit.DataSize;
+
+import javax.servlet.MultipartConfigElement;
+
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableSookaFeignClients
+@SpringBootApplication
+@EnableRyFeignClients
+@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
+@MapperScan("com.sooka.sponest.mobile.**.mapper")
+
+public class SookaMobileApplication{
+    public static void main(String[] args)
+    {
+        SpringApplication.run(SookaMobileApplication.class, args);
+        System.out.println("(♥◠‿◠)ノ゙  首佳科技 手机端 启动成功   ლ(´ڡ`ლ)゙  \n" +
+                "  __________   ____ |  | _______          ____________   ____   ____   ____   _______/  |_\n"+
+                " /  ___/  _ \\ /  _ \\|  |/ /\\__  \\        /  ___/\\____ \\ /  _ \\ /    \\_/ __ \\ /  ___/\\   __\\\n"+
+                " \\___ (  <_> |  <_> )    <  / __ \\_      \\___ \\ |  |_> >  <_> )   |  \\  ___/ \\___ \\  |  |\n"+
+                "/____  >____/ \\____/|__|_ \\(____  /     /____  >|   __/ \\____/|___|  /\\___  >____  > |__|\n"+
+                "     \\/                  \\/     \\/           \\/ |__|               \\/     \\/     \\/\n"
+        );
+    }
+    @Bean
+    public MultipartConfigElement multipartConfigElement(){
+        MultipartConfigFactory factory = new MultipartConfigFactory();
+        factory.setMaxFileSize(DataSize.parse("10240000KB"));
+        factory.setMaxRequestSize(DataSize.parse("10240000KB"));
+        return factory.createMultipartConfig();
+    }
+}

+ 13 - 0
src/main/java/com/sooka/sponest/mobile/aop/NoRepeatSubmit.java

@@ -0,0 +1,13 @@
+package com.sooka.sponest.mobile.aop;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @Author 杨洺硕
+ */
+@Target(ElementType.METHOD)                                     // 作用到方法上
+@Retention(RetentionPolicy.RUNTIME)                             // 运行时有效
+public @interface NoRepeatSubmit {
+}

+ 54 - 0
src/main/java/com/sooka/sponest/mobile/aop/NoRepeatSubmitAop.java

@@ -0,0 +1,54 @@
+package com.sooka.sponest.mobile.aop;
+
+import com.google.common.cache.Cache;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Objects;
+
+/**
+ * @Author 杨洺硕
+ */
+@Aspect
+@Component
+public class NoRepeatSubmitAop {
+    private static final Logger log = LoggerFactory.getLogger(NoRepeatSubmitAop.class);
+
+
+    @Resource
+    private Cache<String, Integer> cache;
+
+    @Around("execution(* com.sooka.sponest.mobile..*Controller.*(..)) && @annotation(nrs)")
+    public Object around(ProceedingJoinPoint pjp, NoRepeatSubmit nrs) {
+        try {
+            ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+            String sessionId = Objects.requireNonNull(RequestContextHolder.getRequestAttributes()).getSessionId();
+            HttpServletRequest request;
+            if (attributes != null) {
+                request = attributes.getRequest();
+                String key = sessionId + "-" + request.getServletPath();
+                if (cache.getIfPresent(key) == null) {
+                    Object o = pjp.proceed();
+                    cache.put(key, 0);
+                    return o;
+                } else {
+                    return AjaxResult.error("抱歉,请勿重复操作");
+                }
+            }
+        } catch (Throwable e) {
+            log.error(e.getMessage());
+            return AjaxResult.error("验证重复操作时出现未知异常!");
+        }
+        return null;
+    }
+
+}

+ 18 - 0
src/main/java/com/sooka/sponest/mobile/aop/UrlCache.java

@@ -0,0 +1,18 @@
+package com.sooka.sponest.mobile.aop;
+
+import com.google.common.cache.Cache;
+import com.google.common.cache.CacheBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.concurrent.TimeUnit;
+/**
+ * @Author 杨洺硕
+ */
+@Configuration
+public class UrlCache {
+    @Bean
+    public Cache<String, Integer> getCache() {
+        return CacheBuilder.newBuilder().expireAfterWrite(5L, TimeUnit.SECONDS).build();
+    }
+}

+ 526 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/controller/AppBigDataController.java

@@ -0,0 +1,526 @@
+package com.sooka.sponest.mobile.appbigdata.controller;
+
+import com.ruoyi.common.core.constant.EventTypeMenuConstants;
+import com.ruoyi.common.core.constant.HttpStatus;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.system.api.domain.SysMenuEventType;
+import com.sooka.sponest.mobile.aop.NoRepeatSubmit;
+import com.sooka.sponest.mobile.appbigdata.domain.bo.KeyProjectsScheduleBO;
+import com.sooka.sponest.mobile.appbigdata.domain.bo.VisuForestResourceBO;
+import com.sooka.sponest.mobile.appbigdata.domain.vo.VisuFireSendingSMSVo;
+import com.sooka.sponest.mobile.appbigdata.domain.vo.VisuForestCloudMapVO;
+import com.sooka.sponest.mobile.appbigdata.domain.vo.VisuForestDataCenterVO;
+import com.sooka.sponest.mobile.base.service.AppAttendanceService;
+import com.sooka.sponest.mobile.data.digitalagriculture.domain.VisuBaseService;
+import com.sooka.sponest.mobile.remoteapi.RemoteDataBaseService;
+import com.sooka.sponest.mobile.remoteapi.RemoteEventBaseService;
+import com.sooka.sponest.mobile.remoteapi.RemoteSystemBaseService;
+import com.sooka.sponest.mobile.remoteapi.domain.CenterdataTForestFireteam;
+import com.sooka.sponest.mobile.remoteapi.domain.CommandCenterBO;
+import com.sooka.sponest.mobile.utils.PictureReplaceAll;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+@RestController
+@RequestMapping("/AppBigDataController")
+public class AppBigDataController extends VisuBaseService {
+
+    @Resource
+    RemoteDataBaseService remoteDataBaseService;
+    @Resource
+    RemoteEventBaseService remoteEventBaseService;
+
+    @Resource
+    RemoteSystemBaseService remoteSystemBaseService;
+
+    public final static String EVENT_TYPE = "eventType";
+    public final static String FOREST_EVENT_STATUS_2 = "forest_event_status_2";
+    public final static String FOREST_EVENT_STATUS_5 = "forest_event_status_5";
+    public final static String NAME_CHINESE = "name_chinese";
+    public final static String NAME_ORIGINAL = "name_original";
+    public final static String EVENT = "event";
+    public final static String PHOTO_ID = "photoId";
+
+
+    /**
+     * 手机端获取全部事件
+     *
+     * @return com.ruoyi.common.core.domain.R
+     * @author pengyu
+     * @date 2023/2/22 13:34
+     **/
+    @ApiOperation(value = "全部事件", notes = "全部事件")
+    @NoRepeatSubmit
+    @PostMapping("getAllData")
+    public R getAllData() {
+        return R.ok(remoteDataBaseService.getAllData().getData());
+    }
+
+    /**
+     * 手机端获取林业事件统计
+     *
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 13:43
+     **/
+    @ApiOperation(value = "林业事件统计", notes = "林业事件统计")
+    //@NoRepeatSubmit
+    @PostMapping("getFireData")
+    public AjaxResult getFireData() {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.FOREST);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        //基础数据
+        List<Map> dataMap = (List<Map>) remoteDataBaseService.getFireData().getData();
+        for (Map data : dataMap) {
+            data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+            data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+        }
+        map.put("rows", dataMap);
+        //事件
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+    @Resource
+    AppAttendanceService appAttendanceService;
+
+    /**
+     * 手机端消防统计数据
+     *
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 11:23
+     */
+    @ApiOperation(value = "消防统计数据", notes = "消防统计数据")
+    @NoRepeatSubmit
+    @PostMapping("getFireControlData")
+    public AjaxResult getFireControlData() {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.FIRECONTROL);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        //基础数据
+        List<Map> dataMap = remoteDataBaseService.fireControlViewList().getData();
+        Iterator<Map> iterator = dataMap.iterator();
+        while (iterator.hasNext()) {
+            Map data = iterator.next();
+            if ("centerdata_t_forest_fireteam".equals(data.get("type").toString())) {
+                iterator.remove();
+            } else {
+                data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+                data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+            }
+        }
+        //基础数据
+        map.put("rows", dataMap);
+        //事件
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+    /**
+     * 手机端环保首页大数据
+     *
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 9:55
+     */
+    @ApiOperation(value = "环保大数据", notes = "环保大数据")
+    @NoRepeatSubmit
+    @PostMapping("getEnvironmentControlData")
+    public AjaxResult getEnvironmentControlData() {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.ENVIRONMENT);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        List<Map> dataMap = (List<Map>) remoteDataBaseService.getEnvironmentControlData().getData();
+        for (Map data : dataMap) {
+            data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+            data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+        }
+        //基础数据
+        map.put("rows", dataMap);
+        //事件
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+    /**
+     * 林业统计
+     *
+     * @return
+     * @Version 1.0
+     * @author wang_xy
+     * @since 2023/2/23 8:57
+     */
+    @ApiOperation(value = "林业统计", notes = "林业统计")
+    @NoRepeatSubmit
+    @PostMapping("getLocationData")
+    public R getLocationData(@RequestBody VisuForestResourceBO visuForestResourceBO) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("up", remoteDataBaseService.getCountGroupByDept(visuForestResourceBO).getData());
+        map.put("down", remoteDataBaseService.getLocation(visuForestResourceBO).getData());
+        return R.ok(map);
+    }
+
+    /**
+     * 手机端水利首页大数据
+     *
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 9:55
+     */
+    @ApiOperation(value = "水利大数据", notes = "水利大数据")
+    @PostMapping("getWaterControlData")
+    public AjaxResult getWaterControlData() {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.WATER);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        //基础数据
+        VisuForestDataCenterVO visuForestDataCenterVO = new VisuForestDataCenterVO();
+        setSookaDataBase(visuForestDataCenterVO);
+        List<Map> dataMap = (List<Map>) remoteDataBaseService.getWaterResourceCount().getData();
+        for (Map data : dataMap) {
+            data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+            data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+        }
+        map.put("rows", dataMap);
+        //事件
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+    /**
+     * 手机端资源首页大数据
+     *
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 9:55
+     */
+    @ApiOperation(value = "资源大数据", notes = "资源大数据")
+    @PostMapping("getResourcesControlData")
+    public AjaxResult getResourcesControlData() {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.RESOURCES);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        //基础数据
+        VisuForestDataCenterVO visuForestDataCenterVO = new VisuForestDataCenterVO();
+        setSookaDataBase(visuForestDataCenterVO);
+        List<Map<String, String>> datalist = remoteDataBaseService.getResourcesResourceCount().getData();
+        for (Map data : datalist) {
+            data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+            data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+        }
+        map.put("rows", datalist);
+        //事件
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+    /**
+     * 手机端应急首页大数据
+     *
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 9:55
+     */
+    @ApiOperation(value = "应急大数据", notes = "应急大数据")
+    @PostMapping("getEmergencyControlData")
+    public AjaxResult getEmergencyControlData() {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.EMERGENCY);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        //基础数据
+        VisuForestDataCenterVO visuForestDataCenterVO = new VisuForestDataCenterVO();
+        setSookaDataBase(visuForestDataCenterVO);
+        List<Map> dataMap = remoteDataBaseService.getEmergencyResourceCount().getData();
+        for (Map<String, String> data : dataMap) {
+            data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+            data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+        }
+        map.put("rows", dataMap);
+        //事件
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+    /**
+     * 手机端交通首页大数据
+     *
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 9:55
+     */
+    @ApiOperation(value = "交通大数据", notes = "交通大数据")
+    @PostMapping("getTrafficControlData")
+    public AjaxResult getTrafficControlData() {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.TRAFFIC);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        //基础数据
+        VisuForestDataCenterVO visuForestDataCenterVO = new VisuForestDataCenterVO();
+        setSookaDataBase(visuForestDataCenterVO);
+        List<Map> dataMap = remoteDataBaseService.getTrafficResourcesCount().getData();
+
+        for (Map data : dataMap) {
+            data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+            data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+        }
+        map.put("rows", dataMap);
+        //事件
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+
+    /**************************************************市局领导页面接口——开始****************************************************/
+    /**
+     * 获取重点工程
+     * 无分页,无筛选
+     *
+     * @return
+     * @Version 1.0
+     * @author wang_xy
+     * @since 2023/4/24 15:09
+     */
+    @ApiOperation(value = "获取重点工程(无分页,无筛选)", notes = "获取重点工程(无分页,无筛选)")
+    @GetMapping("getKeyProjects")
+    public AjaxResult getKeyProjects(Long deptId) {
+        AjaxResult ajaxResult = remoteDataBaseService.getKeyProjects(deptId);
+        if ("200".equals(ajaxResult.get("code").toString())) {
+            List<LinkedHashMap<String, Object>> list = (List<LinkedHashMap<String, Object>>) ajaxResult.get("data");
+            PictureReplaceAll.replaceAllPictureUrl(list, "photoId");
+        }
+        return ajaxResult;
+    }
+
+    /**
+     * @throws
+     * @description
+     * @author LG
+     * @param[1] null
+     * @time 2023/8/16 9:33
+     * 有分页,有筛选
+     */
+    @ApiOperation(value = "获取重点工程(有分页, 有筛选)", notes = "获取重点工程(有分页, 有筛选)")
+    @PostMapping("getKeyProjectsByParams")
+    public AjaxResult getKeyProjectsByParams(@RequestBody CommandCenterBO bo) {
+       /* Map params = new HashMap();
+        params.put("park", bo.getPark());
+        params.put("projectName", bo.getProjectName());
+        params.put("territoriality", bo.getTerritoriality());
+        bo.setParams(params);*/
+        TableDataInfo keyProjectsByParams = remoteDataBaseService.getKeyProjectsByParams(bo.getPageNum(), bo.getPageSize(), bo.getDeptId(), bo.getPark(), bo.getProjectName(), bo.getTerritoriality());
+        if (HttpStatus.SUCCESS == keyProjectsByParams.getCode()) {
+            List<LinkedHashMap<String, Object>> list = (List<LinkedHashMap<String, Object>>) keyProjectsByParams.getRows();
+            PictureReplaceAll.replaceAllPictureUrl(list, "photoId");
+            return AjaxResult.success(list);
+        } else {
+            return AjaxResult.error(keyProjectsByParams.getMsg());
+        }
+    }
+
+    @ApiOperation(value = "根据重点工程id获取进度列表", notes = "根据重点工程id获取进度列表")
+    @GetMapping("/appGetScheduleByTime")
+    public AjaxResult appGetScheduleByTime(KeyProjectsScheduleBO bo) throws Exception {
+        AjaxResult ajaxResult = remoteDataBaseService.appGetScheduleByTime(bo.getKeyProjectsId(), bo.getStartTime(), bo.getEndTime());
+        if ("200".equals(ajaxResult.get("code").toString())) {
+            List<LinkedHashMap<String, Object>> list = (List<LinkedHashMap<String, Object>>) ajaxResult.get("data");
+            PictureReplaceAll.replaceAllPictureUrl(list, "schedulePictures");
+            /*for(int i =0; i < list.size(); i++){
+                LinkedHashMap<String, Object> map = list.get(i);
+                String url = map.containsKey("schedulePictures") ? map.get("schedulePictures").toString().replaceAll("172.18.1.32:8081", "218.27.3.115:9301") : "";
+                url = url.replaceAll("10.6.52.32:8081", "218.27.3.115:9301");
+                map.put("schedulePictures", url);
+                list.set(i, map);
+            }*/
+        }
+        return ajaxResult;
+    }
+
+    /**
+     * 获取重点区域
+     *
+     * @return
+     * @Version 1.0
+     * @author wang_xy
+     * @since 2023/4/24 15:09
+     */
+    @ApiOperation(value = "获取重点区域", notes = "获取重点区域")
+    @GetMapping("getImportAreaList")
+    public AjaxResult getImportAreaList(Long deptId) {
+        List<Map> ajax = (List) remoteDataBaseService.getImportAreaList(deptId).get("data");
+        for (int i = 0; i < ajax.size(); i++) {
+            Map map = ajax.get(i);
+            List<Map> areaList = (List) map.get("areaList");
+            for (int j = 0; j < areaList.size(); j++) {
+                Map area = areaList.get(j);
+                String photoId = area.containsKey(PHOTO_ID) && null != area.get(PHOTO_ID) ? area.get(PHOTO_ID).toString().replaceAll("172.18.1.32:8081", "218.27.3.115:9301") : "";
+                photoId = photoId.replaceAll("10.6.52.32:8081", "218.27.3.115:9301");
+                area.put(PHOTO_ID, photoId);
+                areaList.set(j, area);
+            }
+            ajax.set(i, map);
+        }
+        return AjaxResult.success(ajax);
+    }
+
+    /**
+     * 实时关注
+     *
+     * @return
+     * @Version 1.0
+     * @author wang_xy
+     * @since 2023/4/24 15:09
+     */
+    @ApiOperation(value = "实时关注", notes = "实时关注")
+    @GetMapping("getDeptEventCount")
+    public AjaxResult getDeptEventCount(Long deptId) {
+        AjaxResult ret = remoteEventBaseService.getDeptEventCount(deptId);
+        ArrayList list = (ArrayList) ret.get("data");
+        Integer count = 0;
+        for (int i = 0; i < list.size(); i++) {
+            count += (Integer) ((LinkedHashMap) list.get(i)).get("num");
+        }
+        Map rets = new HashMap();
+        rets.put("count", count);
+        rets.put("list", list);
+        return AjaxResult.success(rets);
+    }
+
+    @ApiOperation(value = "app事件统计", notes = "app事件统计")
+    @GetMapping("appEventStatistics")
+    public AjaxResult appEventStatistics(Long deptId) {
+        return remoteEventBaseService.appEventStatistics(deptId);
+    }
+
+    @ApiOperation(value = "四长统计", notes = "四长统计")
+    @GetMapping("fourLengthOverview")
+    public AjaxResult fourLengthOverview(Long deptId) {
+        return remoteDataBaseService.fourLengthOverview(deptId);
+    }
+
+    /**
+     * 四长概况点击事件
+     *
+     * @param CommandCenterBO
+     * @return
+     */
+    @ApiOperation(value = "四长统计点击事件", notes = "四长统计点击事件")
+    @GetMapping("fourLengthOverviewOther")
+    public AjaxResult fourLengthOverviewOther(CommandCenterBO CommandCenterBO) {
+        Map data = (Map) remoteDataBaseService.fourLengthOverviewOther(CommandCenterBO.getDeptId()).get("data");
+        Map structure = (Map) data.get("structure");
+        Map structureNew = new HashMap();
+        structureNew.put("one", structure.get("1"));
+        structureNew.put("two", structure.get("2"));
+        structureNew.put("three", structure.get("3"));
+        structureNew.put("four", structure.get("4"));
+        data.put("structure", structureNew);
+        return AjaxResult.success(data);
+    }
+
+    @ApiOperation(value = "手机端四长接口", notes = "手机端四长接口")
+    @GetMapping("fourLengthOver")
+    public AjaxResult fourLengthOver(CommandCenterBO CommandCenterBO) {
+
+        return AjaxResult.success(remoteDataBaseService.fourLengthOver(CommandCenterBO.getDeptId(), CommandCenterBO.getTimeTag(), CommandCenterBO.getKeyWord()).get("data"));
+    }
+
+    @ApiOperation(value = "通讯录组织机构", notes = "通讯录组织机构")
+    @GetMapping("/getDeptList")
+    public AjaxResult getDeptList() {
+        return remoteSystemBaseService.getDeptList("");
+    }
+
+    @ApiOperation(value = "根据部门id获取通讯录列表", notes = "根据部门id获取通讯录列表")
+    @GetMapping("/getCommunicationByDeptId")
+    public AjaxResult getCommunicationByDeptId(String deptId, int pageNum, int pageSize, String selectParam) {
+        return remoteDataBaseService.getCommunicationByDeptId(deptId, selectParam, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "大事迹按部门搜索", notes = "大事迹按部门搜索")
+    @GetMapping("/greatdeedsApp")
+    public AjaxResult greatdeedsApp(Long deptId) {
+        AjaxResult ajaxResult = remoteDataBaseService.greatdeedsApp(deptId);
+        return ajaxResult;
+    }
+
+    @ApiOperation(value = "防火队发送短信", notes = "防火队发送短信")
+    @PostMapping("firesendingSMSApp")
+    public AjaxResult firesendingSMSApp(@RequestBody VisuFireSendingSMSVo visuFireSendingSMSVo) {
+        AjaxResult ajaxResult = remoteEventBaseService.firesendingSMSApp(visuFireSendingSMSVo);
+        return ajaxResult;
+    }
+
+    @ApiOperation(value = "防火队列表", notes = "防火队列表")
+    @PostMapping("forestViewPointApp")
+    public R forestViewPointApp(@RequestBody CenterdataTForestFireteam dataBO) {
+        R R = remoteDataBaseService.forestViewPointApp(dataBO);
+        return R;
+    }
+
+    @ApiOperation(value = "上报防火办", notes = "上报防火办")
+    @PostMapping("eventcatalogueApp")
+    public AjaxResult eventcatalogueApp(@RequestBody VisuFireSendingSMSVo visuFireSendingSMSVo) {
+        AjaxResult ajaxResult = remoteEventBaseService.eventcatalogueApp(visuFireSendingSMSVo);
+        return ajaxResult;
+    }
+
+
+    /**************************************************市局领导页面接口——结束****************************************************/
+
+}

+ 249 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/controller/AppBigDataCountController.java

@@ -0,0 +1,249 @@
+package com.sooka.sponest.mobile.appbigdata.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.constant.EventTypeMenuConstants;
+import com.ruoyi.common.core.constant.HttpStatus;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.system.api.domain.SysMenuEventType;
+import com.sooka.sponest.mobile.appbigdata.domain.CenterdataTEnvironmentRyList;
+import com.sooka.sponest.mobile.appbigdata.domain.ForestCloudRYList;
+import com.sooka.sponest.mobile.appbigdata.domain.bo.EnvironmentCloudRYBO;
+import com.sooka.sponest.mobile.appbigdata.domain.bo.ForestCloudRYBO;
+import com.sooka.sponest.mobile.appbigdata.domain.vo.ForestCloudMapVO;
+import com.sooka.sponest.mobile.appbigdata.domain.vo.VisuForestCloudMapVO;
+import com.sooka.sponest.mobile.appbigdata.domain.bo.VisualBO;
+import com.sooka.sponest.mobile.base.service.AppAttendanceService;
+import com.sooka.sponest.mobile.data.digitalagriculture.domain.VisuBaseService;
+import com.sooka.sponest.mobile.remoteapi.RemoteDataBaseService;
+import com.sooka.sponest.mobile.remoteapi.RemoteEventBaseService;
+import com.sooka.sponest.mobile.remoteapi.RemoteMiddlewareService;
+import com.sooka.sponest.mobile.remoteapi.domain.DataVO;
+import org.apache.poi.ss.formula.functions.T;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+@RestController
+@RequestMapping("/AppBigDataCountController")
+public class AppBigDataCountController extends VisuBaseService {
+
+    public final static String EVENT_TYPE = "eventType";
+    public final static String FOREST_EVENT_STATUS_2 = "forest_event_status_2";
+    public final static String FOREST_EVENT_STATUS_5 = "forest_event_status_5";
+    public final static String EVENT = "event";
+    public final static String NAME_CHINESE = "name_chinese";
+    public final static String NAME_ORIGINAL = "name_original";
+
+    @Autowired
+    private RemoteMiddlewareService middlewareService;
+    @Resource
+    AppAttendanceService appAttendanceService;
+    @Resource
+    RemoteEventBaseService remoteEventBaseService;
+
+    @Resource
+    RemoteDataBaseService dataBaseService;
+    ;
+
+
+    /**
+     * 查询落点集合接口
+     *
+     * @param vb
+     * @return
+     */
+    @PostMapping("getResourcePoint")
+    public AjaxResult getResourcePoint(@RequestBody VisualBO vb) {
+        R<List<DataVO>> resourcePoint = middlewareService.getResourcePoint(vb);
+        if (HttpStatus.SUCCESS == resourcePoint.getCode()) {
+            return AjaxResult.success(resourcePoint.getData());
+        } else {
+            return AjaxResult.error(resourcePoint.getMsg());
+        }
+    }
+
+    /**
+     * 查询落点详情接口
+     * 未完成 --- 等待es编写接口后远程调用
+     *
+     * @return
+     */
+    @PostMapping("getResourceDetailById")
+    public AjaxResult getResourcePointById(@RequestBody VisualBO vb) {
+        R resultData = middlewareService.getResourcePointById(vb.getId(), vb.getType());
+        if (HttpStatus.SUCCESS == resultData.getCode()) {
+            return AjaxResult.success(resultData.getData());
+        } else {
+            return AjaxResult.error(resultData.getMsg());
+        }
+    }
+
+    /**
+     * 查询事件统计和资源统计接口
+     *
+     * @param vb
+     * @return
+     */
+    @GetMapping("getResourceList")
+    public AjaxResult getResourceList(VisualBO vb) {
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        switch (vb.getType()) {
+            case "linye":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.FOREST);
+                break;
+            case "nongye":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.FARMING);
+                break;
+            case "shuili":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.WATER);
+                break;
+            case "huanbao":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.ENVIRONMENT);
+                break;
+            case "yingji":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.EMERGENCY);
+                break;
+            case "jiaotong":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.TRAFFIC);
+                break;
+            case "ziyuan":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.RESOURCES);
+                break;
+            case "xiaofang":
+                sysMenuEventType.setMenuId(EventTypeMenuConstants.FIRECONTROL);
+                break;
+        }
+        VisuForestCloudMapVO eventData = getEventData(sysMenuEventType);
+        eventData.setDeptId(vb.getDeptId());
+        Map<String, Object> map = new HashMap<>();
+        map.put(EVENT, remoteEventBaseService.getEventCountGroupByEventStatus(eventData).getData());
+
+        List<Map> dataMap = (List<Map>) middlewareService.getResourceList(vb.getAssort(), vb.getName(), vb.getType(), vb.getDeptId(), vb.getLongitude(), vb.getLatitude(), vb.getRadius()).getData();
+        Iterator<Map> iterator = dataMap.iterator();
+        while (iterator.hasNext()) {
+            Map data = iterator.next();
+            if ("centerdata_t_forest_fireteam".equals(data.get("type").toString()) && !"linye".equals(vb.getType())) {
+                iterator.remove();
+            } else {
+                data.put(NAME_CHINESE, data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+                data.put(NAME_ORIGINAL, data.get("name").toString().split("\\(")[0]);
+            }
+        }
+        map.put("rows", dataMap);
+        return AjaxResult.success(map);
+    }
+
+    public VisuForestCloudMapVO getEventData(SysMenuEventType sysMenuEventType) {
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get(EVENT_TYPE));
+        List<String> list = new ArrayList<>();
+        list.add(FOREST_EVENT_STATUS_2);
+        list.add(FOREST_EVENT_STATUS_5);
+        visuForestCloudMapVO.setEventStatus(list);
+        return visuForestCloudMapVO;
+    }
+
+    /******************************************************************************************************************************************************/
+    public JSONArray typeUnity(ArrayList<?> list) {
+        JSONArray result = new JSONArray();
+        for (Object data : list) {
+            JSONObject jsonObject = (JSONObject) JSONObject.toJSON(data);
+            if(jsonObject.containsKey("dictType")){
+                jsonObject.put("jobValue",jsonObject.remove("dictType"));
+            }
+            result.add(jsonObject);
+        }
+        return result;
+    }
+
+    /**
+     * @description
+     * @author LG
+     * @param[1] deptId
+     * @param[2] leadType
+     * @throws
+     * @Api 河长,路长,田长,获取人员类型
+     * @time 2023/8/16 18:29
+     */
+    private ArrayList<Map<String, Object>> getRyListByJob(Long deptId, String leadType){
+        AjaxResult waterResult = dataBaseService.getRyListToWaterConservancyViewByType(deptId, leadType);
+        LinkedHashMap<String, Object> data = (LinkedHashMap<String, Object>) waterResult.get("data");
+        ArrayList<Map<String, Object>> list = (ArrayList<Map<String, Object>>) data.get("ryList");
+        return list;
+    }
+
+    /**
+     * @throws 手机端:人员巡查轨迹五级联动
+     * @description
+     * @author LG
+     * @param[1] null
+     * @time 2023/8/16 11:08
+     */
+
+    //1. 获取航管局列表
+    //字典值,调用/AppCameraController/getSortByType  传dictType(字典值的key) 获取数据
+
+    //2. 获取航管局对应的人员类型
+    @GetMapping("/getPersonTypeBySystem")
+    public AjaxResult getPersonTypeBySystem(String dictValue, Long deptId, String leadType) {
+        ForestCloudMapVO forestMapVo = new ForestCloudMapVO();
+        forestMapVo.setDeptId(deptId);
+        switch (dictValue) {
+            case "1"://林业
+                R<ForestCloudRYList> ryListToForestView = dataBaseService.getRyListToForestView(forestMapVo);
+                if(HttpStatus.SUCCESS == ryListToForestView.getCode()){
+                    ArrayList<ForestCloudRYBO> visuForestCloudRYBO = (ArrayList<ForestCloudRYBO>) ryListToForestView.getData().getVisuForestCloudRYBO();
+                    return AjaxResult.success(typeUnity(visuForestCloudRYBO));
+                }else{
+                    return AjaxResult.error(ryListToForestView.getCode(), ryListToForestView.getMsg());
+                }
+            case "2"://农业
+                //无
+                return AjaxResult.success(new JSONArray());
+
+            case "3"://水利
+                return AjaxResult.success(typeUnity(getRyListByJob(deptId, leadType)));
+
+            case "4"://环保
+                R<CenterdataTEnvironmentRyList> ryListToEnvironmentView = dataBaseService.getRyListToEnvironmentView(forestMapVo);
+                if(HttpStatus.SUCCESS == ryListToEnvironmentView.getCode()){
+                    ArrayList<EnvironmentCloudRYBO> userList = (ArrayList<EnvironmentCloudRYBO>) ryListToEnvironmentView.getData().getUser();
+                    return AjaxResult.success(typeUnity(userList));
+                }else{
+                    return AjaxResult.error(ryListToEnvironmentView.getCode(), ryListToEnvironmentView.getMsg());
+                }
+            case "5"://应急
+                return AjaxResult.success(new JSONArray());
+
+            case "6"://交通
+                return AjaxResult.success(typeUnity(getRyListByJob(deptId, leadType)));
+
+            case "7"://资源
+                return AjaxResult.success(typeUnity(getRyListByJob(deptId, leadType)));
+
+            case "8"://消防
+                R<Map<String, Object>> ryListToFireControlView = dataBaseService.getRyListToFireControlView(deptId);
+                if(HttpStatus.SUCCESS == ryListToFireControlView.getCode()){
+                    ArrayList<Map<String, Object>> fireControlList = (ArrayList<Map<String, Object>>) ryListToFireControlView.getData().get("ryList");
+                    return AjaxResult.success(typeUnity(fireControlList));
+                }else{
+                    return AjaxResult.error(ryListToFireControlView.getCode(), ryListToFireControlView.getMsg());
+                }
+
+            default: {
+                return AjaxResult.error(500, "航管局类型错误");
+            }
+        }
+    }
+
+    //3. 获取类型对应的人员信息
+
+    //4. 获取人员对应的巡护任务列表
+
+    //5. 根据巡护任务查询任务详情轨迹
+}

+ 15 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/CenterdataTEnvironmentRyList.java

@@ -0,0 +1,15 @@
+package com.sooka.sponest.mobile.appbigdata.domain;
+
+import com.sooka.sponest.mobile.appbigdata.domain.bo.EnvironmentCloudRYBO;
+import com.sooka.sponest.mobile.appbigdata.domain.bo.EnvironmentCloudRyZxUerIdBO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CenterdataTEnvironmentRyList {
+
+    private List<EnvironmentCloudRyZxUerIdBO> userIdList;
+
+    private List<EnvironmentCloudRYBO> user;
+}

+ 33 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/ForestCloudRYList.java

@@ -0,0 +1,33 @@
+package com.sooka.sponest.mobile.appbigdata.domain;
+
+
+import com.sooka.sponest.mobile.appbigdata.domain.bo.ForestCloudRYBO;
+import com.sooka.sponest.mobile.appbigdata.domain.bo.ForestCloudRyZxUerIdBO;
+
+import java.util.List;
+
+/**
+ * @author zhaozhan
+ * @date 2023/6/27
+ */
+public class ForestCloudRYList {
+    private List<ForestCloudRYBO> visuForestCloudRYBO;
+
+    private List<ForestCloudRyZxUerIdBO> userList;
+
+    public List<ForestCloudRYBO> getVisuForestCloudRYBO() {
+        return visuForestCloudRYBO;
+    }
+
+    public void setVisuForestCloudRYBO(List<ForestCloudRYBO> visuForestCloudRYBO) {
+        this.visuForestCloudRYBO = visuForestCloudRYBO;
+    }
+
+    public List<ForestCloudRyZxUerIdBO> getUserList() {
+        return userList;
+    }
+
+    public void setUserList(List<ForestCloudRyZxUerIdBO> userList) {
+        this.userList = userList;
+    }
+}

+ 16 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/EnvironmentCloudRYBO.java

@@ -0,0 +1,16 @@
+package com.sooka.sponest.mobile.appbigdata.domain.bo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class EnvironmentCloudRYBO {
+
+    //职位
+    private String job;
+    private String jobValue;
+    private String jobType;
+    private String number;
+
+}

+ 20 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/EnvironmentCloudRyZxUerIdBO.java

@@ -0,0 +1,20 @@
+package com.sooka.sponest.mobile.appbigdata.domain.bo;
+
+import com.sooka.sponest.data.api.base.BaseBusinessEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class EnvironmentCloudRyZxUerIdBO extends BaseBusinessEntity {
+
+
+
+  /* 在线人员 uerid*/
+    private String userId;
+
+
+
+
+
+}

+ 16 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/ForestCloudRYBO.java

@@ -0,0 +1,16 @@
+package com.sooka.sponest.mobile.appbigdata.domain.bo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ForestCloudRYBO {
+
+    //职位
+    private String job;
+    private String jobValue;
+    private String jobType;
+    private String number;
+
+}

+ 20 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/ForestCloudRyZxUerIdBO.java

@@ -0,0 +1,20 @@
+package com.sooka.sponest.mobile.appbigdata.domain.bo;
+
+import com.sooka.sponest.data.api.base.BaseBusinessEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ForestCloudRyZxUerIdBO extends BaseBusinessEntity {
+
+
+
+  /* 在线人员 uerid*/
+    private String userId;
+
+
+
+
+
+}

+ 70 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/KeyProjectsScheduleBO.java

@@ -0,0 +1,70 @@
+package com.sooka.sponest.mobile.appbigdata.domain.bo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.ibatis.type.Alias;
+
+import java.util.Date;
+
+@Data
+@Alias("ProjectsSchedule")
+@ApiModel(description = "重点工程进度管理对象")
+public class KeyProjectsScheduleBO extends BaseBusinessEntity {
+
+    /**
+     * 进度ID
+     */
+    @ApiModelProperty(value = "主键id")
+    private String scheduleId;
+
+    /**
+     * 重点工程ID
+     */
+    @ApiModelProperty(value = "重点工程主键Id",required = true)
+    private String keyProjectsId;
+
+    /**
+     * 进度图片
+     */
+    @ApiModelProperty(value = "图片路径",required = true)
+    private String schedulePictures;
+
+    /**
+     * 所属部门id
+     */
+    @ApiModelProperty(value = "上传人所属部门id")
+    private Long deptId;
+
+    /**
+     * 所属部门名称
+     */
+    @ApiModelProperty(value = "上传人所属部门名称")
+    private String deptName;
+
+    /**
+     * 数据时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date scheduleTime;
+
+    /**
+     * 数据备注
+     */
+    private String scheduleRemark;
+
+
+    /**
+     * 查询开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String startTime;
+
+    /**
+     * 查询结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String endTime;
+}

+ 24 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/VisuForestResourceBO.java

@@ -0,0 +1,24 @@
+package com.sooka.sponest.mobile.appbigdata.domain.bo;
+
+import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
+import lombok.Data;
+
+/**
+ * 应急预案对象 centerdata_t_reserve
+ *
+ * @author ruoyi
+ * @date 2022-05-04
+ */
+@Data
+public class VisuForestResourceBO extends BaseBusinessEntity {
+
+    private String longitude;
+
+    private String latitude;
+
+    private String type;
+
+    private String radius;
+
+    private String tbName;
+}

+ 18 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/bo/VisualBO.java

@@ -0,0 +1,18 @@
+package com.sooka.sponest.mobile.appbigdata.domain.bo;
+
+import com.sooka.sponest.mobile.appbigdata.domain.vo.BaseESBO;
+import lombok.Data;
+
+@Data
+public class VisualBO extends BaseESBO {
+
+    private String assort = "view";// 请求来源标识 view: 可视化;app: 手机端;leader: 领导页面
+
+    private String name;
+
+    private String type;// 行管局标识或表名
+
+    private Long deptId;
+
+    private String id;
+}

+ 34 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/BaseESBO.java

@@ -0,0 +1,34 @@
+package com.sooka.sponest.mobile.appbigdata.domain.vo;
+
+import lombok.Data;
+import org.elasticsearch.search.sort.SortOrder;
+
+/**
+ * @Auther: lyq
+ * @Date: 2023/7/25
+ * @Description: com.sooka.sponest.middleware.base.bo
+ * @version: 1.0
+ */
+@Data
+public class BaseESBO {
+
+    private String[] indexNames;
+
+    private String[] includeFields = {};
+
+    private String[] excludeFields = {};
+
+    private Integer pageNum;
+
+    private Integer pageSize;
+
+    private String sortFiled;
+
+    private SortOrder sortOrder;
+
+    private String latitude;
+
+    private String longitude;
+
+    private Long radius = 999999999L * 1000;// 距离,单位:米
+}

+ 15 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/CameraVO.java

@@ -0,0 +1,15 @@
+package com.sooka.sponest.mobile.appbigdata.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class CameraVO {
+    private String cameraId;
+    private String cameraCode;
+    private String cameraName;
+    private String cameraFactory;
+    private String longitude;
+    private String latitude;
+    private String cameraRadius;
+    private String cameraType;
+}

+ 43 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/ForestCloudMapVO.java

@@ -0,0 +1,43 @@
+package com.sooka.sponest.mobile.appbigdata.domain.vo;
+
+import com.sooka.sponest.data.api.base.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "数据中心大数据查询实体类对象",description = "数据中心大数据查询实体类对象")
+public class ForestCloudMapVO extends BaseBusinessEntity {
+
+    //部门ID
+    @ApiModelProperty(value = "部门ID", required = false)
+    private Long deptId;
+
+    //查询日期 yyyy-mm-dd
+    @ApiModelProperty(value = "查询日期 yyyy-mm-dd", required = false)
+    private String day;
+
+    //事件编码
+    @ApiModelProperty(value = "事件编码", required = false)
+    private String eventCode;
+
+    @ApiModelProperty(value = "年月", required = false)
+    private List yearMonth;
+
+    @ApiModelProperty(value = "事件状态值", required = false)
+    private String eventStatusValue;
+
+    @ApiModelProperty(value = "事件类型大类", required = false)
+    private String[] eventTypeIdDl;
+
+    @ApiModelProperty(value = "事件类型小类", required = false)
+    private String[] eventTypeId;
+
+    @ApiModelProperty(value = "部门ids", required = false)
+    private Long[] deptIds;
+
+    @ApiModelProperty(value = "所属系统", required = false)
+    private String availableSystem;
+}

+ 22 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/VisuFireSendingSMSVo.java

@@ -0,0 +1,22 @@
+package com.sooka.sponest.mobile.appbigdata.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Auther: mjq
+ * @Date: 2023/5/23 - 05 - 23 - 15:39
+ * @Description: com.sooka.sponest.mobile.appbigdata.domain
+ * @version: 1.0
+ */
+@Data
+public class VisuFireSendingSMSVo {
+    private String message;
+    private List<String> phones;
+    private String  id;
+    private String deptId;
+    private String eventCode;
+    private String address;
+
+}

+ 31 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/VisuForestCloudMapVO.java

@@ -0,0 +1,31 @@
+package com.sooka.sponest.mobile.appbigdata.domain.vo;
+
+import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class VisuForestCloudMapVO extends BaseBusinessEntity {
+
+    //部门ID
+    private Long deptId;
+
+    //查询日期 yyyy-mm-dd
+    private String day;
+
+    //事件编码
+    private String eventCode;
+
+    private List yearMonth;
+
+    private String eventStatusValue;
+
+    private String[] eventTypeIdDl;
+
+    private String[] eventTypeId;
+
+    private List<String> eventStatus;
+
+
+}

+ 18 - 0
src/main/java/com/sooka/sponest/mobile/appbigdata/domain/vo/VisuForestDataCenterVO.java

@@ -0,0 +1,18 @@
+package com.sooka.sponest.mobile.appbigdata.domain.vo;
+
+import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@ApiModel(description = "可视化数据中心相关入参实体类对象")
+public class VisuForestDataCenterVO extends BaseBusinessEntity {
+    @ApiModelProperty(value = "部门id", required = false)
+    private Long deptId;
+    @ApiModelProperty(value = "返回资源数据库表", required = false)
+    private String resourceTable;
+
+}

+ 97 - 0
src/main/java/com/sooka/sponest/mobile/base/controller/AppAttendanceController.java

@@ -0,0 +1,97 @@
+package com.sooka.sponest.mobile.base.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.ruoyi.common.core.constant.HttpStatus;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.sooka.sponest.mobile.base.domain.AppUserLocusVO;
+import com.sooka.sponest.mobile.base.domain.CenterdataTHydraulicPatrolTask;
+import com.sooka.sponest.mobile.base.domain.SysAttendance;
+import com.sooka.sponest.mobile.base.service.AppAttendanceService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+@RestController
+@RequestMapping("AppAttendanceController")
+public class AppAttendanceController {
+
+    @Resource
+    AppAttendanceService appAttendanceService;
+
+
+    /**
+     * 手机端新增考勤打卡
+     *
+     * @param vo
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/21 15:52
+     */
+    @PutMapping("addAttendance")
+    public AjaxResult addAttendance(@RequestBody SysAttendance vo) {
+        return appAttendanceService.addAttendance(vo);
+    }
+
+
+    /**
+     * 手机端查询考勤打卡
+     *
+     * @param userId
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/21 15:53
+     */
+    @GetMapping("getAttendance")
+    public AjaxResult getAttendance(Long userId) {
+        return appAttendanceService.getAttendance(userId);
+    }
+
+    /**
+     * 查询任务列表
+     * @Version 1.0
+     * @return
+     * @author wang_xy
+     * @since 2023/3/30 14:21
+     */
+    @GetMapping("/taskList")
+    public AjaxResult taskList(CenterdataTHydraulicPatrolTask centerdataTHydraulicPatrolTask){
+        TableDataInfo tableDataInfo = appAttendanceService.taskList(centerdataTHydraulicPatrolTask);
+        if(HttpStatus.SUCCESS == tableDataInfo.getCode()){
+            ArrayList<HashMap<String, Object>> rows = (ArrayList<HashMap<String, Object>>) tableDataInfo.getRows();
+            for (HashMap<String, Object> row : rows) {
+                String patrolTrajectory = String.valueOf(row.get("patrolTrajectory"));
+                row.put("patrolTrajectory", "".equals(patrolTrajectory) ? new ArrayList<>() : JSONArray.parseArray(patrolTrajectory));
+            }
+            return AjaxResult.success(rows);
+        }else{
+            return AjaxResult.error(tableDataInfo.getCode(),tableDataInfo.getMsg());
+        }
+    }
+    /**
+     * 手机端新增各个可视化人员轨迹接口
+     * @Version 1.0
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author wang_xy
+     * @since 2023/3/30 9:59
+     */
+    @PostMapping("addAppUserLocus")
+    public AjaxResult addAppUserLocus(@RequestBody AppUserLocusVO appUserLocusVO) {
+        return appAttendanceService.addAppUserLocus(appUserLocusVO);
+    }
+
+    /**
+     * 获取所有部门列表
+     * @Version 1.0
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author wang_xy
+     * @since 2023/4/24 9:59
+     */
+    @GetMapping("getDeptList")
+    public AjaxResult getDeptList(String deptName) {
+        return appAttendanceService.getDeptList(deptName);
+    }
+
+}

+ 108 - 0
src/main/java/com/sooka/sponest/mobile/base/controller/AppBaseController.java

@@ -0,0 +1,108 @@
+package com.sooka.sponest.mobile.base.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.ruoyi.common.core.constant.HttpStatus;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.PageUtils;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.InitBinder;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.beans.PropertyEditorSupport;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("/BaseController")
+public class AppBaseController {
+
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    /**
+     * 将前台传递过来的日期格式的字符串,自动转化为Date类型
+     */
+    @InitBinder
+    public void initBinder(WebDataBinder binder) {
+        // Date 类型转换
+        binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
+            @Override
+            public void setAsText(String text) {
+                setValue(DateUtils.parseDate(text));
+            }
+        });
+    }
+
+    /**
+     * 设置请求分页数据
+     */
+    protected void startPage() {
+        PageUtils.startPage();
+    }
+
+    /**
+     * 响应请求分页数据
+     */
+    @SuppressWarnings({"rawtypes", "unchecked"})
+    protected TableDataInfo getDataTable(List<?> list) {
+        TableDataInfo rspData = new TableDataInfo();
+        rspData.setCode(HttpStatus.SUCCESS);
+        rspData.setRows(list);
+        rspData.setMsg("查询成功");
+        rspData.setTotal(new PageInfo(list).getTotal());
+        return rspData;
+    }
+
+    /**
+     * 响应返回结果
+     *
+     * @param rows 影响行数
+     * @return 操作结果
+     */
+    protected AjaxResult toAjax(int rows) {
+        return rows > 0 ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    /**
+     * 响应返回结果
+     *
+     * @param result 结果
+     * @return 操作结果
+     */
+    protected AjaxResult toAjax(boolean result) {
+        return result ? success() : error();
+    }
+
+    /**
+     * 返回成功
+     */
+    public AjaxResult success() {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 返回失败消息
+     */
+    public AjaxResult error() {
+        return AjaxResult.error();
+    }
+
+    /**
+     * 返回成功消息
+     */
+    public AjaxResult success(String message) {
+        return AjaxResult.success(message);
+    }
+
+    /**
+     * 返回失败消息
+     */
+    public AjaxResult error(String message) {
+        return AjaxResult.error(message);
+    }
+
+}

+ 18 - 0
src/main/java/com/sooka/sponest/mobile/base/database/DynamicDataSource.java

@@ -0,0 +1,18 @@
+package com.sooka.sponest.mobile.base.database;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
+
+
+public class DynamicDataSource extends AbstractRoutingDataSource {
+
+    Logger logger = LoggerFactory.getLogger(DynamicDataSource.class);
+
+    @Override
+    protected Object determineCurrentLookupKey() {
+        logger.info("------------------当前数据源 {}", DynamicDataSourceSwitcher.getDataSource());
+        return DynamicDataSourceSwitcher.getDataSource();
+    }
+}

+ 35 - 0
src/main/java/com/sooka/sponest/mobile/base/database/DynamicDataSourceAspect.java

@@ -0,0 +1,35 @@
+package com.sooka.sponest.mobile.base.database;
+
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+@Aspect
+@Component
+@Order(1)
+public class DynamicDataSourceAspect {
+
+    /**
+     * 切入点只对@Service注解的类上的@DataSource方法生效
+     * @param myDataSource
+     */
+    @Pointcut(value="(@within(org.springframework.stereotype.Service) ||@within(org.springframework.stereotype.Repository)) && @annotation(myDataSource)" )
+    public void dynamicDataSourcePointCut(MyDataSource myDataSource){}
+
+    @Before(value = "dynamicDataSourcePointCut(myDataSource)")
+    public void switchDataSource(MyDataSource myDataSource) {
+        DynamicDataSourceSwitcher.setDataSource(myDataSource.value());
+    }
+
+    /**
+     * 切点执行完后 切换成主数据库
+     * @param myDataSource
+     */
+    @After(value="dynamicDataSourcePointCut(myDataSource)")
+    public void after(MyDataSource myDataSource){
+        DynamicDataSourceSwitcher.cleanDataSource();
+    }
+}

+ 45 - 0
src/main/java/com/sooka/sponest/mobile/base/database/DynamicDataSourceSwitcher.java

@@ -0,0 +1,45 @@
+package com.sooka.sponest.mobile.base.database;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+public class DynamicDataSourceSwitcher {
+
+    static Logger logger = LoggerFactory.getLogger(DynamicDataSourceSwitcher.class);
+
+    public static final String Master = "master";
+    public static final String dbCenterTtranmanager = "db-center-tranmanager";
+    public static final String dbCenterData = "db-center-data";
+    public static final String dbCenterEvent = "db-center-event";
+    public static final String dbCenterMonitor = "db-center-monitor";
+    public static final String dbCenterTask = "db-center-task";
+    public static final String dbCenterEvaluation = "db-center-evaluation";
+    public static final String dbCenterFire = "db-center-fire";
+    public static final String dbCenterStraw = "db-center-straw";
+    public static final String dbCenterPests = "db-center-pests";
+    public static final String dbCenterComprehensive = "db-center-comprehensive";
+    public static final String dbCenterOnest = "db-center-onest";
+    public static final String dbSystemData = "db-system";
+    public static final String dbCenterMessage = "db-center-message";
+
+    private static final ThreadLocal<String> contextHolder = new ThreadLocal<>();
+
+    public static void setDataSource(String name){
+        logger.info("-------- 设置数据源数据源为 :{} ", name);
+        contextHolder.set(name);
+    }
+
+    public static String getDataSource(){
+        if (StringUtils.isEmpty(contextHolder.get())) {
+            setDataSource(Master);
+        }
+        return contextHolder.get();
+    }
+
+    public static void cleanDataSource(){
+        contextHolder.remove();
+    }
+
+}

+ 4 - 0
src/main/java/com/sooka/sponest/mobile/base/database/GlobalTransactionalRabbitMQ.java

@@ -0,0 +1,4 @@
+package com.sooka.sponest.mobile.base.database;
+
+public @interface GlobalTransactionalRabbitMQ {
+}

+ 145 - 0
src/main/java/com/sooka/sponest/mobile/base/database/MultipleDataSourceConfig.java

@@ -0,0 +1,145 @@
+package com.sooka.sponest.mobile.base.database;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+
+import javax.sql.DataSource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Configuration
+public class MultipleDataSourceConfig {
+
+    @Bean("master")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.master")
+    public DataSource createMasterDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbSystemData")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-system")
+    public DataSource createSystemDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterTranmanager")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-tranmanager")
+    public DataSource createTranmanagerDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterData")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-data")
+    public DataSource createDataDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterMessage")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-message")
+    public DataSource createMessageDataSource() {
+        return new DruidDataSource();
+    }
+
+
+    @Bean("dbCenterEvent")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-event")
+    public DataSource createEventDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterMonitor")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-monitor")
+    public DataSource createMonitorDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterTask")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-task")
+    public DataSource createTaskDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterEvaluation")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-evaluation")
+    public DataSource createEvaluationDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterFire")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-fire")
+    public DataSource createFireDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterStraw")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-straw")
+    public DataSource createStrawDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterPests")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-pests")
+    public DataSource createPestsDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterComprehensive")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-comprehensive")
+    public DataSource createComprehensiveDataSource() {
+        return new DruidDataSource();
+    }
+
+    @Bean("dbCenterOnest")
+    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db-center-onest")
+    public DataSource createOnestDataSource() {
+        return new DruidDataSource();
+    }
+
+    /**
+     * 设置动态数据源,通过@Primary 来确定主DataSource
+     *
+     * @return
+     */
+    @Bean
+    @Primary
+    public DataSource createDynamicDataSource(@Qualifier("master") DataSource master,
+                                              @Qualifier("dbSystemData") DataSource dbSystemData,
+                                              @Qualifier("dbCenterData") DataSource dbCenterData,
+                                              @Qualifier("dbCenterMessage") DataSource dbCenterMessage,
+                                              @Qualifier("dbCenterEvent") DataSource dbCenterEvent,
+                                              @Qualifier("dbCenterMonitor") DataSource dbCenterMonitor,
+                                              @Qualifier("dbCenterTask") DataSource dbCenterTask,
+                                              @Qualifier("dbCenterEvaluation") DataSource dbCenterEvaluation,
+                                              @Qualifier("dbCenterFire") DataSource dbCenterFire,
+                                              @Qualifier("dbCenterStraw") DataSource dbCenterStraw,
+                                              @Qualifier("dbCenterPests") DataSource dbCenterPests,
+                                              @Qualifier("dbCenterComprehensive") DataSource dbCenterComprehensive,
+                                              @Qualifier("dbCenterOnest") DataSource dbCenterOnest,
+                                              @Qualifier("dbCenterTranmanager") DataSource dbCenterTranmanager) {
+        DynamicDataSource dynamicDataSource = new DynamicDataSource();
+        //设置默认数据源
+        dynamicDataSource.setDefaultTargetDataSource(master);
+        //配置多数据源
+        Map<Object, Object> map = new HashMap<>();
+        map.put("master", master);
+        map.put("db-system", dbSystemData);
+        map.put("db-center-tranmanager", dbCenterTranmanager);
+        map.put("db-center-data", dbCenterData);
+        map.put("db-center-message", dbCenterMessage);
+        map.put("db-center-event", dbCenterEvent);
+        map.put("db-center-monitor", dbCenterMonitor);
+        map.put("db-center-task", dbCenterTask);
+        map.put("db-center-evaluation", dbCenterEvaluation);
+        map.put("db-center-fire", dbCenterFire);
+        map.put("db-center-straw", dbCenterStraw);
+        map.put("db-center-pests", dbCenterPests);
+        map.put("db-center-comprehensive", dbCenterComprehensive);
+        map.put("db-center-onest", dbCenterOnest);
+        dynamicDataSource.setTargetDataSources(map);
+        return dynamicDataSource;
+    }
+}

+ 14 - 0
src/main/java/com/sooka/sponest/mobile/base/database/MyDataSource.java

@@ -0,0 +1,14 @@
+package com.sooka.sponest.mobile.base.database;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({
+        ElementType.METHOD
+})
+public @interface MyDataSource {
+    String value() default "";
+}

+ 11 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/AppBaseBO.java

@@ -0,0 +1,11 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import com.sooka.sponest.data.api.base.BaseBusinessEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class AppBaseBO extends BaseBusinessEntity {
+
+}

+ 10 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/AppBaseVO.java

@@ -0,0 +1,10 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import com.sooka.sponest.data.api.base.BaseBusinessEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class AppBaseVO extends BaseBusinessEntity {
+}

+ 34 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/AppUserLocusVO.java

@@ -0,0 +1,34 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import lombok.Data;
+
+/**
+ * @author wang_xy
+ * @params ${PARAM}
+ * @return ${RETURN}
+ * @since 2023/3/30 9:58
+ */
+@Data
+public class AppUserLocusVO {
+
+    private String forestryId;//林业关联任务id
+    private String waterId;//水利关联任务id
+    private String resourcesId;//资源关联任务id
+    private String environmentId;//环保关联任务id
+    private String fireControlId;//消防关联任务id
+    private String trafficId;//交通关联任务id
+
+    private String forestryRecoedId;//林业关联轨迹id
+    private String waterRecoedId;//水利关联轨迹id
+    private String resourcesRecoedId;//资源关联轨迹id
+    private String environmentRecoedId;//环保关联轨迹id
+    private String fireControlRecoedId;//消防关联轨迹id
+    private String trafficRecoedId;//交通关联轨迹id
+
+    private String userId;//人员id
+
+    private String longitude;//经度
+    private String latitude;//纬度
+
+    private String dateFlag;//开始巡查结束巡查标识类型    开始巡查start  结束巡查end  中间的不用串
+}

+ 52 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/CenterdataTHydraulicPatrolPlanRecord.java

@@ -0,0 +1,52 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 水利巡查记录对象 centerdata_t_hydraulic_patrol_plan_record
+ *
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Data
+public class CenterdataTHydraulicPatrolPlanRecord extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 开始时间
+     */
+    @Excel(name = "开始时间")
+    private String beginTime;
+
+    /**
+     * 结束时间
+     */
+    @Excel(name = "结束时间")
+    private String endTime;
+
+    /**
+     * 巡查人员
+     */
+    private String userId;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+
+    /**
+     * 任务ID
+     */
+    private String taskId;
+
+    private String type;
+
+}

+ 81 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/CenterdataTHydraulicPatrolTask.java

@@ -0,0 +1,81 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 水利巡查任务对象 centerdata_t_hydraulic_patrol_task
+ *
+ * @author ruoyi
+ * @date 2023-03-02
+ */
+@Data
+public class CenterdataTHydraulicPatrolTask extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 计划名称
+     */
+    @Excel(name = "任务名称")
+    private String taskName;
+
+    /**
+     * 所属计划
+     */
+    private String planId;
+
+    /**
+     * 计划名称
+     */
+    @Excel(name = "计划名称")
+    private String planName;
+
+    /**
+     * 任务状态
+     */
+    private String status;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+    /**
+     * 部门名称
+     */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /**
+     * 创建人名称
+     */
+    @Excel(name = "创建人名称")
+    private String createName;
+
+    /**
+     * 更新人名称
+     */
+    @Excel(name = "更新人名称")
+    private String updateName;
+
+    /**
+     * 数据状态
+     */
+    private String dataStatus;
+
+    private String userId;
+
+    private String type;
+
+
+    private Integer pageNum;
+    private Integer pageSize;
+
+
+}

+ 39 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/CenterdataTHydraulicTrack.java

@@ -0,0 +1,39 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 轨迹对象 centerdata_t_hydraulic_track
+ *
+ * @author ruoyi
+ * @date 2023-02-28
+ */
+@Data
+public class CenterdataTHydraulicTrack extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 经度
+     */
+    @Excel(name = "经度")
+    private String longitude;
+
+    /**
+     * 纬度
+     */
+    @Excel(name = "纬度")
+    private String latitude;
+
+    /**
+     * 巡查记录ID
+     */
+    private String recordId;
+
+}

+ 96 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/ModulesServiceNameContants.java

@@ -0,0 +1,96 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+
+public class ModulesServiceNameContants extends ServiceNameConstants {
+
+ /**
+  * 认证服务的serviceid
+  */
+
+    //综合治理中心
+   public static final String CENTER_COMPREHENSIVE = "sooka-sponest-center-comprehensive";
+
+   //数据中心
+   public static final String CENTER_DATA = "sooka-sponest-center-data";
+    //数据中心IP+端口
+    public static final String CENTER_DATA_URL = "http://10.7.99.10:10002";
+    //数据中心IP+端口
+    public static final String CENTER_DATA_URL_1 = "http://10.7.99.11:10002";
+
+   //测评中心
+   public static final String CENTER_EVALUATION = "sooka-sponest-center-evaluation";
+
+    //事件中心
+    public static final String CENTER_EVENT = "sooka-sponest-center-event";
+    //事件中心IP+端口
+    public static final String CENTER_EVENT_URL = "http://10.7.99.11:10003";
+    //事件中心IP+端口
+    public static final String CENTER_EVENT_URL_1 = "http://10.7.99.10:10003";
+
+    //森林防火中心
+    public static final String CENTER_FIRE = "sooka-sponest-center-fire";
+
+    //监控中心
+    public static final String CENTER_MONITOR = "sooka-sponest-center-monitor";
+    //监控中心IP+端口
+    public static final String CENTER_MONITOR_URL = "http://10.7.99.11:10004";
+    //监控中心IP+端口
+    public static final String CENTER_MONITOR_URL_1 = "http://10.7.99.10:10004";
+
+    //一体化平台
+    public static final String CENTER_ONEST = "sooka-sponest-center-onest";
+
+    //病虫灾害中心
+    public static final String CENTER_PESTS = "sooka-sponest-center-pests";
+
+    //秸秆禁烧中心
+    public static final String CENTER_STRAW = "sooka-sponest-center-straw";
+
+    //认证中心
+    public static final String CENTER_AUTH = "sooka-sponest-auth";
+    //认证中心IP+端口
+    public static final String CENTER_AUTH_URL = "http://10.7.99.10:3200";
+    //认证中心IP+端口
+    public static final String CENTER_AUTH_URL_1 = "http://10.7.99.11:3200";
+
+    //任务中心
+    public static final String CENTER_TASK = "sooka-sponest-center-task";
+    //任务中心IP+端口
+    public static final String CENTER_TASK_URL = "http://10.7.99.10:10005";
+    //任务中心IP+端口
+    public static final String CENTER_TASK_URL_1 = "http://10.7.99.11:10005";
+
+    //运管中心
+    public static final String CENTER_TRANMANAGER = "sooka-sponest-system";
+    //运管中心IP+端口
+    public static final String CENTER_TRANMANAGER_URL = "http://10.7.99.10:3201";
+    //运管中心IP+端口
+    public static final String CENTER_TRANMANAGER_URL_1 = "http://10.7.99.11:3201";
+
+    //消息中心
+    public static final String CENTER_MESSAGE = "sooka-sponest-center-message";
+    //消息中心IP+端口
+    public static final String CENTER_MESSAGE_URL = "http://10.7.99.10:10012";
+    //消息中心IP+端口
+    public static final String CENTER_MESSAGE_URL_1 = "http://10.7.99.11:10012";
+
+    //农业中心
+    public static final String CENTER_AGRICULTURE = "sooka-sponest-center-agriculture";
+    //农业中心IP+端口
+    public static final String CENTER_AGRICULTURE_URL = "http://10.7.99.10:10018";
+    //农业中心IP+端口
+    public static final String CENTER_AGRICULTURE_URL_1 = "http://10.7.99.11:10018";
+
+
+    //手机端文件服务中心
+    public static final String CENTER_FILE = "sooka-sponest-file";
+    //手机端文件服务中心IP+端口
+    public static final String CENTER_FILE_URL = "http://10.7.99.10:9300";
+    //手机端文件服务中心IP+端口
+    public static final String CENTER_FILE_URL_1 = "http://10.7.99.11:9300";
+
+    //中间件服务中心
+    public static final String SOOKA_MIDDLEWARE = "sooka-sponest-middleware";
+
+}

+ 52 - 0
src/main/java/com/sooka/sponest/mobile/base/domain/SysAttendance.java

@@ -0,0 +1,52 @@
+package com.sooka.sponest.mobile.base.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 考勤打卡对象 sys_attendance
+ *
+ * @author ruoyi
+ * @date 2022-08-01
+ */
+@Getter
+@Setter
+public class SysAttendance extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键ID */
+    private String id;
+
+    /** 经度 */
+    @Excel(name = "经度")
+    private String longitude;
+
+    /** 纬度 */
+    @Excel(name = "纬度")
+    private String latitude;
+
+    /** 用户Id */
+    @Excel(name = "用户Id")
+    private Long userId;
+
+    /** 用户名称 */
+    @Excel(name = "用户名称")
+    private String userName;
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("longitude", getLongitude())
+                .append("createTime", getCreateTime())
+            .append("latitude", getLatitude())
+            .append("userId", getUserId())
+            .append("userName", getUserName())
+            .toString();
+    }
+}

+ 58 - 0
src/main/java/com/sooka/sponest/mobile/base/service/AppAttendanceService.java

@@ -0,0 +1,58 @@
+package com.sooka.sponest.mobile.base.service;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.system.api.domain.SysMenuEventType;
+import com.sooka.sponest.mobile.base.domain.AppUserLocusVO;
+import com.sooka.sponest.mobile.base.domain.CenterdataTHydraulicPatrolTask;
+import com.sooka.sponest.mobile.base.domain.SysAttendance;
+
+import java.util.Map;
+
+public interface AppAttendanceService {
+
+    /**
+     * 手机端新增考勤打卡
+     *
+     * @param vo
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/21 16:23
+     */
+    AjaxResult addAttendance(SysAttendance vo);
+
+    /**
+     * 手机端查询考勤打卡
+     *
+     * @param userId
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/21 16:23
+     */
+    AjaxResult getAttendance(Long userId);
+
+    TableDataInfo taskList(CenterdataTHydraulicPatrolTask centerdataTHydraulicPatrolTask);
+
+    /**
+     * 手机端新增各个可视化人员轨迹接口
+     * @Version 1.0
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author wang_xy
+     * @since 2023/3/30 9:59
+     */
+    AjaxResult addAppUserLocus(AppUserLocusVO appUserLocusVO);
+
+    /**
+     * 获取所有部门列表
+     * @Version 1.0
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author wang_xy
+     * @since 2023/4/24 9:59
+     */
+    AjaxResult getDeptList(String deptName);
+
+    R<Map<String,String[]>> selectByMenuId(SysMenuEventType sysMenuEventType);
+
+
+}

+ 201 - 0
src/main/java/com/sooka/sponest/mobile/base/service/impl/AppAttendanceServiceImpl.java

@@ -0,0 +1,201 @@
+package com.sooka.sponest.mobile.base.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.system.api.domain.SysMenuEventType;
+import com.sooka.sponest.mobile.base.domain.*;
+import com.sooka.sponest.mobile.base.service.AppAttendanceService;
+import com.sooka.sponest.mobile.remoteapi.RemoteDataBaseService;
+import com.sooka.sponest.mobile.remoteapi.RemoteSystemBaseService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class AppAttendanceServiceImpl implements AppAttendanceService {
+
+    @Resource
+    RemoteSystemBaseService remoteSystemBaseService;
+
+    @Resource
+    RemoteDataBaseService remoteDataBaseService;
+
+    /**
+     * 手机端新增考勤打卡
+     *
+     * @param sys
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/21 16:23
+     */
+    @Override
+    public AjaxResult addAttendance(SysAttendance sys) {
+        sys.setId(IdUtils.simpleUUID());
+        sys.setCreateTime(DateUtils.getNowDate());
+        return remoteSystemBaseService.addAttendance(sys);
+    }
+
+    /**
+     * 手机端查询考勤打卡
+     *
+     * @param userId
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/21 16:23
+     */
+    @Override
+    public AjaxResult getAttendance(Long userId) {
+        return remoteSystemBaseService.getAttendance(userId);
+    }
+
+    @Override
+    public TableDataInfo taskList(CenterdataTHydraulicPatrolTask centerdataTHydraulicPatrolTask) {
+        return remoteDataBaseService.taskList(centerdataTHydraulicPatrolTask.getPageNum(),centerdataTHydraulicPatrolTask.getPageSize(),centerdataTHydraulicPatrolTask);
+    }
+
+    @Override
+    public AjaxResult addAppUserLocus(AppUserLocusVO appUserLocusVO) {
+        if(StringUtils.isNotEmpty(appUserLocusVO.getDateFlag())){//不为空证明巡查开始或结束
+            if("start".equals(appUserLocusVO.getDateFlag())){//start开始巡查
+                JSONObject retJson = new JSONObject();
+                CenterdataTHydraulicPatrolPlanRecord c = new CenterdataTHydraulicPatrolPlanRecord();
+                c.setUserId(appUserLocusVO.getUserId());
+                if(StringUtils.isNotEmpty(appUserLocusVO.getForestryId())){//林业关联id
+                    c.setTaskId(appUserLocusVO.getForestryId());
+                    c.setType("1");
+                    String recoedId = remoteDataBaseService.startRecoed(c).get("msg").toString();
+                    retJson.put("forestryRecoedId",recoedId);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getWaterId())){//水利关联id
+                    c.setTaskId(appUserLocusVO.getWaterId());
+                    c.setType("2");
+                    String recoedId = remoteDataBaseService.startRecoed(c).get("msg").toString();
+                    retJson.put("waterRecoedId",recoedId);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getResourcesId())){//资源关联id
+                    c.setTaskId(appUserLocusVO.getResourcesId());
+                    c.setType("6");
+                    String recoedId = remoteDataBaseService.startRecoed(c).get("msg").toString();
+                    retJson.put("resourcesRecoedId",recoedId);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getEnvironmentId())){//环保关联id
+                    c.setTaskId(appUserLocusVO.getEnvironmentId());
+                    c.setType("4");
+                    String recoedId = remoteDataBaseService.startRecoed(c).get("msg").toString();
+                    retJson.put("environmentRecoedId",recoedId);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getFireControlId())){//消防关联id
+                    c.setTaskId(appUserLocusVO.getFireControlId());
+                    c.setType("5");
+                    String recoedId = remoteDataBaseService.startRecoed(c).get("msg").toString();
+                    retJson.put("fireControlRecoedId",recoedId);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getTrafficId())){//交通关联id
+                    c.setTaskId(appUserLocusVO.getTrafficId());
+                    c.setType("3");
+                    String recoedId = remoteDataBaseService.startRecoed(c).get("msg").toString();
+                    retJson.put("trafficRecoedId",recoedId);
+                }
+                return AjaxResult.success(retJson);
+            }else{//end结束巡查
+                CenterdataTHydraulicPatrolPlanRecord c = new CenterdataTHydraulicPatrolPlanRecord();
+                c.setUserId(appUserLocusVO.getUserId());
+                if(StringUtils.isNotEmpty(appUserLocusVO.getForestryRecoedId())){//林业关联id
+                    c.setId(appUserLocusVO.getForestryRecoedId());
+                    c.setType("1");
+                    remoteDataBaseService.finishThisRecoed(c);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getWaterRecoedId())){//水利关联id
+                    c.setId(appUserLocusVO.getWaterRecoedId());
+                    c.setType("2");
+                    remoteDataBaseService.finishThisRecoed(c);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getResourcesRecoedId())){//资源关联id
+                    c.setId(appUserLocusVO.getResourcesRecoedId());
+                    c.setType("6");
+                    remoteDataBaseService.finishThisRecoed(c);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getEnvironmentRecoedId())){//环保关联id
+                    c.setId(appUserLocusVO.getEnvironmentRecoedId());
+                    c.setType("4");
+                    remoteDataBaseService.finishThisRecoed(c);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getFireControlRecoedId())){//消防关联id
+                    c.setId(appUserLocusVO.getFireControlRecoedId());
+                    c.setType("5");
+                    remoteDataBaseService.finishThisRecoed(c);
+                }
+                if(StringUtils.isNotEmpty(appUserLocusVO.getTrafficRecoedId())){//交通关联id
+                    c.setId(appUserLocusVO.getTrafficRecoedId());
+                    c.setType("3");
+                    remoteDataBaseService.finishThisRecoed(c);
+                }
+                return AjaxResult.success();
+            }
+        }else{//为空证明巡查中
+            CenterdataTHydraulicTrack track = new CenterdataTHydraulicTrack();
+            track.setLongitude(appUserLocusVO.getLongitude());
+            track.setLatitude(appUserLocusVO.getLatitude());
+            if(StringUtils.isNotEmpty(appUserLocusVO.getForestryRecoedId())){//林业关联id
+                track.setRecordId(appUserLocusVO.getForestryRecoedId());
+                remoteDataBaseService.addTrack(track);
+            }
+            if(StringUtils.isNotEmpty(appUserLocusVO.getWaterRecoedId())){//水利关联id
+                track.setRecordId(appUserLocusVO.getWaterRecoedId());
+                remoteDataBaseService.addTrack(track);
+            }
+            if(StringUtils.isNotEmpty(appUserLocusVO.getResourcesRecoedId())){//资源关联id
+                track.setRecordId(appUserLocusVO.getResourcesRecoedId());
+                remoteDataBaseService.addTrack(track);
+            }
+            if(StringUtils.isNotEmpty(appUserLocusVO.getEnvironmentRecoedId())){//环保关联id
+                track.setRecordId(appUserLocusVO.getEnvironmentRecoedId());
+                remoteDataBaseService.addTrack(track);
+            }
+            if(StringUtils.isNotEmpty(appUserLocusVO.getFireControlRecoedId())){//消防关联id
+                track.setRecordId(appUserLocusVO.getFireControlRecoedId());
+                remoteDataBaseService.addTrack(track);
+            }
+            if(StringUtils.isNotEmpty(appUserLocusVO.getTrafficRecoedId())){//交通关联id
+                track.setRecordId(appUserLocusVO.getTrafficRecoedId());
+                remoteDataBaseService.addTrack(track);
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public AjaxResult getDeptList(String deptName) {
+        return remoteSystemBaseService.getDeptList(deptName);
+    }
+
+    @Override
+    public R<Map<String, String[]>> selectByMenuId(SysMenuEventType sysMenuEventType) {
+        List<SysMenuEventType> eventTypeList = remoteSystemBaseService.selectByMenuId(sysMenuEventType).getData();
+        Map<String, String[]> map = new HashMap<>();
+        List<String> eventType = new ArrayList<>();
+        List<String> eventTypeDl = new ArrayList<>();
+        if (ObjectUtils.isEmpty(eventTypeList)) {
+            eventType.add("-1");
+            eventTypeDl.add("-1");
+        } else {
+            eventTypeList.forEach(item -> {
+                eventType.add(item.getEventTypeXl());
+                eventTypeDl.add(item.getEventType());
+            });
+        }
+        map.put("eventType", eventType.toArray(new String[eventType.size()]));
+        map.put("eventTypeDl", eventTypeDl.toArray(new String[eventTypeDl.size()]));
+        return R.ok(map);
+    }
+}

+ 80 - 0
src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/CarController.java

@@ -0,0 +1,80 @@
+package com.sooka.sponest.mobile.data.basicdatacontroller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.basicdata.domain.Car;
+import com.sooka.sponest.data.api.basicdata.service.RemoteCarService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+@RestController
+@RequestMapping("AppCarController")
+public class CarController {
+    @Resource
+    RemoteCarService remoteCarService;
+
+    /**
+     * 获取车辆管理
+     *
+     * @param centerdataTForestCar
+     * @return
+     */
+    @GetMapping("/car/list")
+    public AjaxResult carList(Car centerdataTForestCar) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String licenseNum = centerdataTForestCar.getLicenseNum();
+        return AjaxResult.success(remoteCarService.carList(pageNum, pageSize, licenseNum).getRows());
+
+    }
+
+    /**
+     * 获取车辆管理详情
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/car/edit")
+    public AjaxResult carEdit(String id) {
+        return remoteCarService.carEdit(id);
+    }
+
+    /**
+     * 新增车辆管理
+     *
+     * @param
+     * @return
+     */
+    @PostMapping("/car")
+    public AjaxResult car(@RequestBody String json) {
+        return remoteCarService.addCar(json);
+    }
+
+    /**
+     * 修改车辆管理
+     *
+     * @param
+     * @return
+     */
+    @PostMapping("/car/put")
+    public AjaxResult putCar(@RequestBody String json) {
+        return remoteCarService.putCar(json);
+    }
+
+    /**
+     * 删除车辆管理
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/car/del")
+    public AjaxResult delCar(@RequestParam("id") List<String> id) {
+        return remoteCarService.delCar(id.toArray(new String[0]));
+    }
+
+}

+ 81 - 0
src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/CarRepairController.java

@@ -0,0 +1,81 @@
+package com.sooka.sponest.mobile.data.basicdatacontroller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.basicdata.domain.Carrepair;
+import com.sooka.sponest.data.api.basicdata.service.RemoteCarrepairService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("AppCarrepairController")
+public class CarRepairController {
+    @Resource
+    RemoteCarrepairService remoteCarrepairService;
+
+    /**
+     * 获取车辆保养
+     *
+     * @param centerdataTForestCarrepair
+     * @return
+     */
+    @GetMapping("/carrepair/list")
+    public AjaxResult carrepairList(Carrepair centerdataTForestCarrepair) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String licenseNum = centerdataTForestCarrepair.getLicenseNum();
+        Date repairTime = centerdataTForestCarrepair.getRepairTime();
+        String charger = centerdataTForestCarrepair.getCharger();
+        return AjaxResult.success(remoteCarrepairService.carrepairList(pageNum, pageSize, licenseNum, repairTime, charger).getRows());
+    }
+
+    /**
+     * 获取车辆保养详情
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/carrepair/edit")
+    public AjaxResult carrepairEdit(String id) {
+        return remoteCarrepairService.carrepairEdit(id);
+    }
+
+    /**
+     * 新增车辆保养
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/carrepair")
+    public AjaxResult carrepair(@RequestBody String json) {
+        return remoteCarrepairService.addCarrepair(json);
+    }
+
+    /**
+     * 修改车辆保养
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/carrepair/put")
+    public AjaxResult putCarrepair(@RequestBody String json) {
+        return remoteCarrepairService.putCarrepair(json);
+    }
+
+    /**
+     * 删除车辆保养
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/carrepair/del")
+    public AjaxResult delCarrepair(@RequestParam("id") List<String> id) {
+        return remoteCarrepairService.delCarrepair(id.toArray(new String[0]));
+    }
+
+}

+ 87 - 0
src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/FireHydrantController.java

@@ -0,0 +1,87 @@
+package com.sooka.sponest.mobile.data.basicdatacontroller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.basicdata.domain.Firehydrant;
+import com.sooka.sponest.data.api.basicdata.service.RemoteFirehydrantService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("AppFirehydrantController")
+public class FireHydrantController {
+    @Resource
+    RemoteFirehydrantService remoteFirehydrantService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 获取消火栓
+     *
+     * @param centerdataTForestFirehydrant
+     * @return
+     */
+    @GetMapping("/firehydrant/list")
+    public AjaxResult firehydrantList(Firehydrant centerdataTForestFirehydrant) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = centerdataTForestFirehydrant.getName();
+        return AjaxResult.success(remoteFirehydrantService.firehydrantList(pageNum, pageSize, name).getRows());
+    }
+
+    /**
+     * 获取消火栓详情
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/firehydrant/edit")
+    public AjaxResult firehydrantEdit(String id) {
+        AjaxResult ajaxResult = remoteFirehydrantService.firehydrantEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增消火栓
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/firehydrant")
+    public AjaxResult firehydrant(@RequestBody String json) {
+        return remoteFirehydrantService.addFirehydrant(json);
+    }
+
+    /**
+     * 修改消火栓
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/firehydrant/put")
+    public AjaxResult putFirehydrant(@RequestBody String json) {
+        return remoteFirehydrantService.putFirehydrant(json);
+    }
+
+    /**
+     * 删除消火栓
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/firehydrant/del")
+    public AjaxResult delFirehydrant(@RequestParam("id") List<String> id) {
+        return remoteFirehydrantService.delFirehydrant(id.toArray(new String[0]));
+    }
+}

+ 90 - 0
src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/WaterCraneController.java

@@ -0,0 +1,90 @@
+package com.sooka.sponest.mobile.data.basicdatacontroller;
+
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.basicdata.domain.Watercrane;
+import com.sooka.sponest.data.api.basicdata.service.RemoteWatercraneService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("AppWatercraneController")
+public class WaterCraneController {
+    @Resource
+    RemoteWatercraneService remoteWatercraneService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 获取水鹤管理
+     *
+     * @param centerdataTForestWatercrane
+     * @return
+     */
+    @GetMapping("/watercrane/list")
+    public AjaxResult watercraneList(Watercrane centerdataTForestWatercrane) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = centerdataTForestWatercrane.getName();
+        return AjaxResult.success(remoteWatercraneService.watercraneList(pageNum, pageSize, name).getRows());
+    }
+
+    /**
+     * 获取水鹤管理详情
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/watercrane/edit")
+    public AjaxResult watercraneEdit(String id) {
+        AjaxResult ajaxResult = remoteWatercraneService.watercraneEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增水鹤管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/watercrane")
+    public AjaxResult watercrane(@RequestBody String json) {
+        return remoteWatercraneService.addWatercrane(json);
+    }
+
+    /**
+     * 修改水鹤管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/watercrane/put")
+    public AjaxResult putWatercrane(@RequestBody String json) {
+        return remoteWatercraneService.putWatercrane(json);
+    }
+
+    /**
+     * 删除水鹤管理
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/watercrane/del")
+    public AjaxResult delWatercrane(@RequestParam("id") List<String> id) {
+        return remoteWatercraneService.delWatercrane(id.toArray(new String[0]));
+    }
+}
+

+ 89 - 0
src/main/java/com/sooka/sponest/mobile/data/basicdatacontroller/WaterIntakeController.java

@@ -0,0 +1,89 @@
+package com.sooka.sponest.mobile.data.basicdatacontroller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.basicdata.domain.Waterintake;
+import com.sooka.sponest.data.api.basicdata.service.RemoteWaterintakeService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("AppWaterintakeController")
+public class WaterIntakeController {
+    @Resource
+    RemoteWaterintakeService remoteWaterintakeService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 获取取水口
+     *
+     * @param forestWaterintake
+     * @return
+     */
+    @GetMapping("/waterintake/list")
+    public AjaxResult waterintakeList(Waterintake forestWaterintake) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = forestWaterintake.getName();
+        String waterintakePerson = forestWaterintake.getWaterintakePerson();
+        String waterintakeTel = forestWaterintake.getWaterintakeTel();
+        return AjaxResult.success(remoteWaterintakeService.waterintakeList(pageNum, pageSize, name, waterintakePerson, waterintakeTel).getRows());
+    }
+
+    /**
+     * 获取取水口详情
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/waterintake/edit")
+    public AjaxResult waterintakeEdit(String id) {
+        AjaxResult ajaxResult = remoteWaterintakeService.waterintakeEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增取水口
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/waterintake")
+    public AjaxResult waterintake(@RequestBody String json) {
+        return remoteWaterintakeService.addWaterintake(json);
+    }
+
+    /**
+     * 修改取水口
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/waterintake/put")
+    public AjaxResult putWaterintake(@RequestBody String json) {
+        return remoteWaterintakeService.putWaterintake(json);
+    }
+
+    /**
+     * 删除取水口
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/waterintake/del")
+    public AjaxResult delWaterintake(@RequestParam("id") List<String> id) {
+        return remoteWaterintakeService.delWaterintake(id.toArray(new String[0]));
+    }
+}

+ 132 - 0
src/main/java/com/sooka/sponest/mobile/data/commoncontroller/commonController.java

@@ -0,0 +1,132 @@
+package com.sooka.sponest.mobile.data.commoncontroller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.sooka.sponest.mobile.data.commoncontroller.domain.AppDigitalForestVO;
+import com.sooka.sponest.mobile.remoteapi.RemoteDataBaseService;
+import com.sooka.sponest.mobile.remoteapi.domain.DataVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 手机端公共接口
+ */
+@RestController
+@RequestMapping("AppCommonController")
+public class commonController {
+    @Resource
+    RemoteDataBaseService remoteDataBaseService;
+
+    @ApiOperation(value = "手机端数据中心点位", notes = "林业数据中心点位")
+    @PostMapping("pointList")
+    public AjaxResult pointList(@RequestBody AppDigitalForestVO vo) {
+//        vo.setRadius("5000");
+        List<DataVO> list = new ArrayList<>();
+        JSONArray jsonArray = new JSONArray();
+        switch (vo.getAssort()) {
+            case "linye":
+                 List<Map<String,Object>> linyeList = (List<Map<String,Object>>)remoteDataBaseService.resourceList(vo.getLongitude(), vo.getLatitude(), vo.getType(),vo.getRadius()).get("data");
+                 for (Map<String,Object> map : linyeList){
+                     if (map.containsKey("specific_location")){
+                         map.put("address",map.get("specific_location"));
+                     }
+                     if (map.containsKey("firehydrant_address")){
+                         map.put("address",map.get("firehydrant_address"));
+                     }
+                     if (map.containsKey("landing_person")){
+                         map.put("contacts",map.get("landing_person"));
+                     }
+                     if (map.containsKey("channel_person")){
+                         map.put("contacts",map.get("channel_person"));
+                     }
+                     if (map.containsKey("channel_tel")){
+                         map.put("phone",map.get("channel_tel"));
+                     }
+                     if (map.containsKey("administrative_position")){
+                         map.put("address",map.get("administrative_position"));
+                     }
+                     if (map.containsKey("position")){
+                         map.put("address",map.get("position"));
+                     }
+                 }
+                jsonArray.addAll(linyeList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+            case "nongye":
+                List<Map<String,Object>> nongyeList = (List<Map<String,Object>>)remoteDataBaseService.getPointByDeptId(vo.getLongitude(), vo.getLatitude(), vo.getType(),vo.getRadius()).get("data");
+                for (Map<String,Object> map : nongyeList){
+                    if (map.containsKey("position")){
+                        map.put("address",map.get("position"));
+                    }
+                }
+                jsonArray.addAll(nongyeList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+            case "shuili":
+                List<Map<String,Object>> shuiliList = (List<Map<String,Object>>)remoteDataBaseService.FjPointwater(vo.getLongitude(), vo.getLatitude(), vo.getType(),vo.getRadius()).get("data");
+                for (Map<String,Object> map : shuiliList){
+                    if (map.containsKey("startpoint_longitude")){
+                        map.put("longitude",map.get("startpoint_longitude"));
+                    }
+                    if (map.containsKey("startpoint_latitude")){
+                        map.put("latitude",map.get("startpoint_latitude"));
+                    }
+                }
+                jsonArray.addAll(shuiliList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+            case "huanbao":
+                List<Map<String,Object>> huanbaoList = (List<Map<String,Object>>)remoteDataBaseService.FjPointenvironment(vo.getLongitude(), vo.getLatitude(), vo.getType(),vo.getRadius()).get("data");
+                jsonArray.addAll(huanbaoList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+            case "jiaotong":
+                List<Map<String,Object>> jiaotongList = (List<Map<String,Object>>)remoteDataBaseService.FjPointtraffic(vo.getLongitude(),vo.getLatitude(),vo.getType(),vo.getRadius()).get("data");
+                jsonArray.addAll(jiaotongList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+            case "yingji":
+                List<Map<String,Object>> yingjiList = (List<Map<String,Object>>)remoteDataBaseService.FjPoint(vo.getLongitude(),vo.getLatitude(),vo.getType(),vo.getRadius()).get("data");
+                for (Map<String,Object> map : yingjiList){
+                    if (map.containsKey("specific_location")){
+                        map.put("address",map.get("specific_location"));
+                    }
+                }
+                jsonArray.addAll(yingjiList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+            case "ziyuan":
+                List<Map<String,Object>> ziyuanList = (List<Map<String,Object>>)remoteDataBaseService.FjPointresource(vo.getLongitude(),vo.getLatitude(),vo.getType(),vo.getRadius()).get("data");
+                for (Map<String,Object> map : ziyuanList){
+                    if (map.containsKey("person")){
+                        map.put("contacts",map.get("person"));
+                    }
+                    if (map.containsKey("area")){
+                        map.put("address",map.get("area"));
+                    }
+                }
+                jsonArray.addAll(ziyuanList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+            case "xiaofang":
+                List<Map<String,Object>> xiaofangList = (List<Map<String,Object>>)remoteDataBaseService.FjPointNew(vo.getLongitude(),vo.getLatitude(),vo.getType(),vo.getRadius()).get("data");
+                for (Map<String,Object> map : xiaofangList){
+                    if (map.containsKey("specific_location")){
+                        map.put("address",map.get("specific_location"));
+                    }
+                }
+                jsonArray.addAll(xiaofangList);
+                list = jsonArray.toJavaList(DataVO.class);
+                break;
+        }
+        return AjaxResult.success(list);
+    }
+}

+ 24 - 0
src/main/java/com/sooka/sponest/mobile/data/commoncontroller/domain/AppDigitalForestVO.java

@@ -0,0 +1,24 @@
+package com.sooka.sponest.mobile.data.commoncontroller.domain;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class AppDigitalForestVO {
+
+    //经度
+    String longitude;
+
+    //纬度
+    String latitude;
+
+    //表名
+    String type;
+
+    //航管局类型
+    String assort;
+
+    //距离
+    String radius;
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/AgriculturalMachineryInfoController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmAgriculturalMachineryInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteAgriculturalMachineryInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 农机技术推广部门信息
+ */
+@RestController
+@RequestMapping("AppAgriculturalMachineryInfoController")
+public class AgriculturalMachineryInfoController {
+    @Resource
+    RemoteAgriculturalMachineryInfoService remoteAgriculturalMachineryInfoService;
+
+    /**
+     * 新增农机技术推广部门信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/AgriculturalMachineryInfo")
+    public AjaxResult addAgriculturalMachineryInfo(@RequestBody String json) {
+        return remoteAgriculturalMachineryInfoService.addAgriculturalMachineryInfo(json);
+    }
+
+    /**
+     * 获取农机技术推广部门信息列表
+     * @param farmAgriculturalMachineryInfo
+     * @return
+     */
+    @GetMapping("/AgriculturalMachineryInfo/list")
+    public AjaxResult agriculturalMachineryInfoList(FarmAgriculturalMachineryInfo farmAgriculturalMachineryInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteAgriculturalMachineryInfoService.agriculturalMachineryInfolist(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农机技术推广部门信息
+     * @param
+     * @return
+     */
+    @GetMapping("/AgriculturalMachineryInfo/del")
+    public AjaxResult delAgriculturalMachineryInfo(@RequestParam("id") List<String> id) {
+        return remoteAgriculturalMachineryInfoService.delAgriculturalMachineryInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农机技术推广部门信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/AgriculturalMachineryInfo/put")
+    public AjaxResult putAgriculturalMachineryInfo(@RequestBody String json) {
+        return remoteAgriculturalMachineryInfoService.putAgriculturalMachineryInfo(json);
+    }
+
+    /**
+     * 获取农机技术推广部门信息
+     * @param
+     * @return
+     */
+    @GetMapping("/AgriculturalMachineryInfo/edit")
+    public AjaxResult AgriculturalMachineryInfoEdit(String id) {
+        return remoteAgriculturalMachineryInfoService.agriculturalMachineryInfoedit(id);
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/AlongController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmFoodstuffAlong;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteAlongService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 粮食作物长势
+ */
+@RestController
+@RequestMapping("AppalongController")
+public class AlongController {
+    @Resource
+    RemoteAlongService remoteAlongService;
+
+    /**
+     * 新增粮食作物长势
+     * @param json
+     * @return
+     */
+    @PostMapping("/along")
+    public AjaxResult addAlong(@RequestBody String json) {
+        return remoteAlongService.addAlong(json);
+    }
+
+    /**
+     * 获取粮食作物长势列表
+     * @param farmFoodstuffAlong
+     * @return
+     */
+    @GetMapping("/along/list")
+    public AjaxResult alongList(FarmFoodstuffAlong farmFoodstuffAlong) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteAlongService.alongList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除粮食作物长势
+     * @param
+     * @return
+     */
+    @GetMapping("/along/del")
+    public AjaxResult delAlong(@RequestParam("id") List<String> id) {
+        return remoteAlongService.delAlong(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改粮食作物长势
+     * @param json
+     * @return
+     */
+    @PostMapping("/along/put")
+    public AjaxResult putAlong(@RequestBody String json) {
+        return remoteAlongService.putAlong(json);
+    }
+
+    /**
+     * 获取粮食作物长势
+     * @param
+     * @return
+     */
+    @GetMapping("/along/edit")
+    public AjaxResult alongEdit(String id) {
+        return remoteAlongService.alongEdit(id);
+    }
+}

+ 85 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/BotanyProtectInfoController.java

@@ -0,0 +1,85 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmBotanyProtectInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteBotanyProtectInfoService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 农业技术推广总站信息手机端
+ */
+@RestController
+@RequestMapping("AppBotanyProtectInfoController")
+public class BotanyProtectInfoController {
+    @Resource
+    RemoteBotanyProtectInfoService remoteBotanyProtectInfoService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 新增农业技术推广总站信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/BotanyProtectInfo")
+    public AjaxResult stillField(@RequestBody String json) {
+        return remoteBotanyProtectInfoService.addBotanyProtectInfo(json);
+    }
+
+    /**
+     * 获取农业技术推广总站信息列表
+     * @param farmBotanyProtectInfo
+     * @return
+     */
+    @GetMapping("/BotanyProtectInfo/list")
+    public AjaxResult stillFieldList(FarmBotanyProtectInfo farmBotanyProtectInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteBotanyProtectInfoService.botanyProtectInfoList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农业技术推广总站信息
+     * @param
+     * @return
+     */
+    @GetMapping("/BotanyProtectInfo/del")
+    public AjaxResult delStillField(@RequestParam("id") List<String> id) {
+        return remoteBotanyProtectInfoService.delBotanyProtectInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农业技术推广总站信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/BotanyProtectInfo/put")
+    public AjaxResult putStillField(@RequestBody String json) {
+        return remoteBotanyProtectInfoService.putBotanyProtectInfo(json);
+    }
+
+    /**
+     * 获取农业技术推广总站信息
+     * @param
+     * @return
+     */
+    @GetMapping("/BotanyProtectInfo/edit")
+    public AjaxResult cooperativesEdit(String id) {
+        AjaxResult ajaxResult = remoteBotanyProtectInfoService.botanyProtectInfoEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 68 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/BreedingFarmController.java

@@ -0,0 +1,68 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmBreedingFarm;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteBreedingFarmService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 养殖场Controller
+ *
+ * @author phy
+ * @date 2023-04-30
+ */
+@RestController
+@RequestMapping("AppBreedingFarmController")
+public class BreedingFarmController{
+
+    @Resource
+    RemoteBreedingFarmService remoteBreedingFarmService;
+
+    /**
+     * 查询养殖场列表
+     */
+    @GetMapping("/BreedingFarm/list")
+    public AjaxResult breedingFarmList(FarmBreedingFarm farmBreedingFarm) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteBreedingFarmService.selectBreedingFarmList(pageNum, pageSize, farmBreedingFarm.getName()).getRows());
+    }
+
+
+    /**
+     * 获取粪污收集点详细信息
+     */
+    @GetMapping("/BreedingFarm/edit")
+    public AjaxResult breedingFarmEdit(String id) {
+        return remoteBreedingFarmService.selectBreedingFarmById(id);
+    }
+
+    /**
+     * 新增粪污收集点
+     */
+    @PostMapping("/BreedingFarm")
+    public AjaxResult addBreedingFarm(@RequestBody String json) {
+        return remoteBreedingFarmService.insertBreedingFarm(json);
+    }
+    /**
+     * 修改粪污收集点
+     */
+    @PostMapping("/BreedingFarm/put")
+    public AjaxResult putBreedingFarm(@RequestBody String json) {
+        return remoteBreedingFarmService.updateBreedingFarm(json);
+    }
+
+    /**
+     * 删除粪污收集点
+     */
+    @GetMapping("/BreedingFarm/del")
+    public AjaxResult delBreedingFarm(@RequestParam("id") List<String> id) {
+        return remoteBreedingFarmService.deleteBreedingFarmByIds(id.toArray(new String[0]));
+    }
+}

+ 64 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/CesspitCollectController.java

@@ -0,0 +1,64 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmCesspitCollect;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteCesspitCollectService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 粪污收集点Controller
+ * @author zhaozhan
+ * @date 2023/7/10
+ */
+@RestController
+@RequestMapping("AppCesspitCollectController")
+public class CesspitCollectController {
+    @Resource
+    RemoteCesspitCollectService remoteCesspitCollectService;
+
+    /**
+     * 查询粪污收集点列表
+     */
+    @GetMapping("/CesspitCollect/list")
+    public AjaxResult cesspitCollectList(FarmCesspitCollect farmCesspitCollect) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteCesspitCollectService.selectCesspitCollectList(pageNum, pageSize, farmCesspitCollect.getName()).getRows());
+    }
+    /**
+     * 获取粪污收集点详细信息
+     */
+    @GetMapping("/CesspitCollect/edit")
+    public AjaxResult cesspitCollectEdit(String id) {
+        return remoteCesspitCollectService.selectCesspitCollectById(id);
+    }
+
+    /**
+     * 新增粪污收集点
+     */
+    @PostMapping("/CesspitCollect")
+    public AjaxResult addCesspitCollect(@RequestBody String json) {
+        return remoteCesspitCollectService.insertCesspitCollect(json);
+    }
+    /**
+     * 修改粪污收集点
+     */
+    @PostMapping("/CesspitCollect/put")
+    public AjaxResult putCesspitCollect(@RequestBody String json) {
+        return remoteCesspitCollectService.updateCesspitCollect(json);
+    }
+
+    /**
+     * 删除粪污收集点
+     */
+    @GetMapping("/CesspitCollect/del")
+    public AjaxResult delCesspitCollect(@RequestParam("id") List<String> id) {
+        return remoteCesspitCollectService.deleteCesspitCollectByIds(id.toArray(new String[0]));
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ChemicalFertilizerInfoController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmChemicalFertilizerInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteChemicalFertilizerInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 化肥信息
+ */
+@RestController
+@RequestMapping("AppChemicalFertilizerInfoController")
+public class ChemicalFertilizerInfoController {
+    @Resource
+    RemoteChemicalFertilizerInfoService remoteChemicalFertilizerInfoService;
+
+    /**
+     * 新增化肥信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/ChemicalFertilizerInfo")
+    public AjaxResult chemicalFertilizerInfo(@RequestBody String json) {
+        return remoteChemicalFertilizerInfoService.addChemicalFertilizerInfo(json);
+    }
+
+    /**
+     * 获取化肥信息列表
+     * @param farmChemicalFertilizerInfo
+     * @return
+     */
+    @GetMapping("/ChemicalFertilizerInfo/list")
+    public AjaxResult chemicalFertilizerInfoList(FarmChemicalFertilizerInfo farmChemicalFertilizerInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteChemicalFertilizerInfoService.chemicalFertilizerInfoList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除化肥信息
+     * @param
+     * @return
+     */
+    @GetMapping("/ChemicalFertilizerInfo/del")
+    public AjaxResult delChemicalFertilizerInfo(@RequestParam("id") List<String> id) {
+        return remoteChemicalFertilizerInfoService.delChemicalFertilizerInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改化肥信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/ChemicalFertilizerInfo/put")
+    public AjaxResult putChemicalFertilizerInfo(@RequestBody  String json) {
+        return remoteChemicalFertilizerInfoService.putChemicalFertilizerInfo(json);
+    }
+
+    /**
+     * 获取化肥信息详情
+     * @param
+     * @return
+     */
+    @GetMapping("/ChemicalFertilizerInfo/edit")
+    public AjaxResult chemicalFertilizerInfoEdit(String id) {
+        return remoteChemicalFertilizerInfoService.chemicalFertilizerInfoEdit(id);
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ContractManagementController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmContractManagement;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteContractManagementService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 合同模板使用记录
+ */
+@RestController
+@RequestMapping("AppContractManagementController")
+public class ContractManagementController {
+    @Resource
+    RemoteContractManagementService remoteContractManagementService;
+
+    /**
+     * 新增合同模板使用记录
+     * @param json
+     * @return
+     */
+    @PostMapping("/ContractManagement")
+    public AjaxResult contractManagement(@RequestBody String json) {
+        return remoteContractManagementService.addContractManagement(json);
+    }
+
+    /**
+     * 获取合同模板使用记录
+     * @param farmContractManagement
+     * @return
+     */
+    @GetMapping("/ContractManagement/list")
+    public AjaxResult contractManagementList(FarmContractManagement farmContractManagement) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteContractManagementService.contractManagementList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除合同模板使用记录
+     * @param
+     * @return
+     */
+    @GetMapping("/ContractManagement/del")
+    public AjaxResult delContractManagement(@RequestParam("id") List<String> id) {
+        return remoteContractManagementService.delContractManagement(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改合同模板使用记录
+     * @param json
+     * @return
+     */
+    @PostMapping("/ContractManagement/put")
+    public AjaxResult putContractManagement(@RequestBody String json) {
+        return remoteContractManagementService.putContractManagement(json);
+    }
+
+    /**
+     * 获取合同模板使用记录
+     * @param
+     * @return
+     */
+    @GetMapping("/ContractManagement/edit")
+    public AjaxResult contractManagementEdit(String id) {
+        return remoteContractManagementService.contractManagementEdit(id);
+    }
+}

+ 85 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/CooperativesController.java

@@ -0,0 +1,85 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmAgriculturalCooperatives;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteCooperativesService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 农村合作社信息
+*/
+@RestController
+@RequestMapping("AppCooperativesController")
+public class CooperativesController {
+    @Resource
+    RemoteCooperativesService remoteCooperativesService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 新增农民合作社
+     * @param json
+     * @return
+     */
+    @PostMapping("/Cooperatives")
+    public AjaxResult addCooperatives(@RequestBody String json) {
+        return remoteCooperativesService.addCooperatives(json);
+    }
+
+    /**
+     * 获取农民合作社列表
+     * @param farmAgriculturalCooperatives
+     * @return
+     */
+    @GetMapping("/Cooperatives/list")
+    public AjaxResult cooperativesList(FarmAgriculturalCooperatives farmAgriculturalCooperatives) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteCooperativesService.cooperativesList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农民合作社
+     * @param
+     * @return
+     */
+    @GetMapping("/Cooperatives/del")
+    public AjaxResult delCooperatives(@RequestParam("id") List<String> id) {
+        return remoteCooperativesService.delCooperatives(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农民合作社
+     * @param json
+     * @return
+     */
+    @PostMapping("/Cooperatives/put")
+    public AjaxResult putCooperatives(@RequestBody String json) {
+        return remoteCooperativesService.putCooperatives(json);
+    }
+
+    /**
+     * 获取农民合作社详情
+     * @param
+     * @return
+     */
+    @GetMapping("/Cooperatives/edit")
+    public AjaxResult cooperativesEdit(String id) {
+        AjaxResult ajaxResult = remoteCooperativesService.cooperativesEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 112 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/DataController.java

@@ -0,0 +1,112 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.constant.EventTypeMenuConstants;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.ruoyi.system.api.domain.SysMenuEventType;
+import com.sooka.sponest.data.api.digitalagriculture.domain.AgricultureBO;
+import com.sooka.sponest.data.api.digitalagriculture.domain.StrawStillField;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteDataViewService;
+import com.sooka.sponest.mobile.aop.NoRepeatSubmit;
+import com.sooka.sponest.mobile.appbigdata.domain.vo.VisuForestCloudMapVO;
+import com.sooka.sponest.mobile.base.service.AppAttendanceService;
+import com.sooka.sponest.mobile.data.digitalagriculture.service.IDataService;
+import com.sooka.sponest.mobile.remoteapi.RemoteEventBaseService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/annotation")
+public class DataController {
+    @Resource
+    IDataService dataService;
+    @Resource
+    RemoteDataViewService remoteDataViewService;
+    @Resource
+    RemoteEventBaseService remoteEventBaseService;
+    @Resource
+    AppAttendanceService appAttendanceService;
+
+    /**
+     * 手机端农业数据统计 新版 数据、事件汇总 动态获取事件大小类类型
+     */
+    @ApiOperation(value = "农业统计", notes = "农业统计")
+    @NoRepeatSubmit
+    @GetMapping("data")
+    public AjaxResult data() {
+        VisuForestCloudMapVO visuForestCloudMapVO = new VisuForestCloudMapVO();
+        SysMenuEventType sysMenuEventType = new SysMenuEventType();
+        sysMenuEventType.setMenuId(EventTypeMenuConstants.FARMING);
+        Map<String, String[]> stringMap = appAttendanceService.selectByMenuId(sysMenuEventType).getData();
+        visuForestCloudMapVO.setEventTypeId(stringMap.get("eventType"));
+        List<String> list = new ArrayList<>();
+        list.add("forest_event_status_2");
+        list.add("forest_event_status_5");
+        visuForestCloudMapVO.setEventStatus(list);
+        Map<String, Object> map = new HashMap<>();
+        //基础数据
+        List<Map> dataMap = remoteDataViewService.agricultureViewList().getData();
+        for (Map data:dataMap) {
+            data.put("name_original", data.get("name").toString().split("\\(")[0]);
+            data.put("name_chinese", data.get("name").toString().split("\\(")[0] + "(" + data.get("name").toString().split("\\(")[1].split("\\)")[0] + ")");
+        }
+        map.put("rows", dataMap);
+        //事件
+        map.put("event", remoteEventBaseService.getEventCountGroupByEventStatus(visuForestCloudMapVO).getData());
+        return AjaxResult.success(map);
+    }
+
+    /**
+     * 手机端数据中心-标点
+     *
+     * @param agricultureBO
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     * @author pengyu
+     * @date 2023/2/22 10:05
+     */
+    @ApiOperation(value = "数据中心-标点", notes = "数据中心-标点")
+    @GetMapping("point")
+    public AjaxResult point(AgricultureBO agricultureBO) {
+        return dataService.heZuoShePoint(agricultureBO);
+    }
+
+
+    /**
+     * 农业还田
+     */
+    @PostMapping("/StillField")
+    public AjaxResult addStillField(@RequestBody String json) {
+        return remoteDataViewService.addStillField(json);
+    }
+
+    @GetMapping("/StillField/list")
+    public AjaxResult stillFieldList(StrawStillField strawStillField) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteDataViewService.stillFieldList(pageNum, pageSize, strawStillField.getStillFieldType()).getRows());
+    }
+    @GetMapping("/StillField/del")
+    public AjaxResult delStillField(@RequestParam("id") List<String> id) {
+        return remoteDataViewService.delStillField(id.toArray(new String[0]));
+    }
+    @PostMapping("/StillField/put")
+    public AjaxResult putStillField(@RequestBody String json) {
+        return remoteDataViewService.putStillField(json);
+    }
+
+    @GetMapping("/StillField/edit")
+    public AjaxResult stillFieldEdit(String id) {
+        return remoteDataViewService.stillFieldEdit(id);
+    }
+
+
+
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/EnterpriseController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmEnterprise;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteEnterpriseService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 饲料企业
+ */
+@RestController
+@RequestMapping("AppenterpriseController")
+public class EnterpriseController {
+    @Resource
+    RemoteEnterpriseService remoteEnterpriseService;
+
+    /**
+     * 新增饲料企业
+     * @param json
+     * @return
+     */
+    @PostMapping("/enterprise")
+    public AjaxResult enterprise(@RequestBody String json) {
+        return remoteEnterpriseService.addEnterprise(json);
+    }
+
+    /**
+     * 获取饲料企业列表
+     * @param farmEnterprise
+     * @return
+     */
+    @GetMapping("/enterprise/list")
+    public AjaxResult enterpriseList(FarmEnterprise farmEnterprise) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteEnterpriseService.enterpriseList(pageNum, pageSize, farmEnterprise.getType()).getRows());
+    }
+
+    /**
+     * 删除饲料企业
+     * @param
+     * @return
+     */
+    @GetMapping("/enterprise/del")
+    public AjaxResult delEnterprise(@RequestParam("id") List<String> id) {
+        return remoteEnterpriseService.delEnterprise(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改饲料企业
+     * @param json
+     * @return
+     */
+    @PostMapping("/enterprise/put")
+    public AjaxResult putEnterprise(@RequestBody String json) {
+        return remoteEnterpriseService.putEnterprise(json);
+    }
+
+    /**
+     * 获取饲料企业
+     * @param
+     * @return
+     */
+    @GetMapping("/enterprise/edit")
+    public AjaxResult enterpriseEdit(String id) {
+        return remoteEnterpriseService.enterpriseEdit(id);
+    }
+}

+ 85 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ExcrementdisposeController.java

@@ -0,0 +1,85 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmEnterprise;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteExcrementdisposeService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *  区域性粪污处置中心
+ */
+@RestController
+@RequestMapping("AppexcrementdisposeController")
+public class ExcrementdisposeController {
+    @Resource
+    RemoteExcrementdisposeService remoteExcrementdisposeService;
+    @Resource
+    AppCameraService appCameraService;
+    
+    /**
+     * 新增区域性粪污处置中心
+     * @param json
+     * @return
+     */
+    @PostMapping("/excrementdispose")
+    public AjaxResult addExcrementdispose(@RequestBody String json) {
+        return remoteExcrementdisposeService.addExcrementdispose(json);
+    }
+
+    /**
+     * 获取区域性粪污处置中心列表
+     * @param farmEnterprise
+     * @return
+     */
+    @GetMapping("/excrementdispose/list")
+    public AjaxResult excrementdisposeList( FarmEnterprise farmEnterprise) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteExcrementdisposeService.excrementdisposeList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除区域性粪污处置中心
+     * @param
+     * @return
+     */
+    @GetMapping("/excrementdispose/del")
+    public AjaxResult delExcrementdispose(@RequestParam("id") List<String> id) {
+        return remoteExcrementdisposeService.delExcrementdispose(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改区域性粪污处置中心
+     * @param json
+     * @return
+     */
+    @PostMapping("/excrementdispose/put")
+    public AjaxResult putExcrementdispose(@RequestBody String json) {
+        return remoteExcrementdisposeService.putExcrementdispose(json);
+    }
+
+    /**
+     * 获取区域性粪污处置中心
+     * @param
+     * @return
+     */
+    @GetMapping("/excrementdispose/edit")
+    public AjaxResult excrementdisposeEdit(String id) {
+        AjaxResult ajaxResult = remoteExcrementdisposeService.excrementdisposeEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 86 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/FilingsLivestockController.java

@@ -0,0 +1,86 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmFilingsLivestock;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteFilingsLivestockService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 备案畜禽规模养殖场
+ */
+@RestController
+@RequestMapping("AppfilingsLivestockController")
+public class FilingsLivestockController {
+
+    @Resource
+    RemoteFilingsLivestockService remoteFilingsLivestockService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 新增备案畜禽规模养殖场
+     * @param json
+     * @return
+     */
+    @PostMapping("/filingsLivestock")
+    public AjaxResult filingsLivestock(@RequestBody String json) {
+        return remoteFilingsLivestockService.addFilingsLivestock(json);
+    }
+
+    /**
+     * 获取备案畜禽规模养殖场列表
+     * @param farmFilingsLivestock
+     * @return
+     */
+    @GetMapping("/filingsLivestock/list")
+    public AjaxResult filingsLivestockList(FarmFilingsLivestock farmFilingsLivestock) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFilingsLivestockService.filingsLivestockList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除备案畜禽规模养殖场
+     * @param
+     * @return
+     */
+    @GetMapping("/filingsLivestock/del")
+    public AjaxResult delFilingsLivestock(@RequestParam("id") List<String> id) {
+        return remoteFilingsLivestockService.delFilingsLivestock(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改 备案畜禽规模养殖场
+     * @param json
+     * @return
+     */
+    @PostMapping("/filingsLivestock/put")
+    public AjaxResult putFilingsLivestock(@RequestBody String json) {
+        return remoteFilingsLivestockService.putFilingsLivestock(json);
+    }
+
+    /**
+     * 获取 备案畜禽规模养殖场
+     * @param
+     * @return
+     */
+    @GetMapping("/filingsLivestock/edit")
+    public AjaxResult filingsLivestockEdit(String id) {
+        AjaxResult ajaxResult = remoteFilingsLivestockService.filingsLivestockEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 77 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/GarbageTransferController.java

@@ -0,0 +1,77 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmGarbageTransfer;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteGarbageTransferInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 垃圾转输站
+ */
+@RestController
+@RequestMapping("AppGarbageTransferController")
+public class GarbageTransferController {
+
+    @Resource
+    RemoteGarbageTransferInfoService remoteGarbageTransferInfoService;
+
+
+    /**
+     * 新增垃圾转输站
+     * @param json
+     * @return
+     */
+    @PostMapping("/GarbageTransferInfo")
+    public AjaxResult addGarbageTransferInfo(@RequestBody String json) {
+        return remoteGarbageTransferInfoService.addGarbageTransferInfo(json);
+    }
+
+    /**
+     * 获取垃圾转输站列表
+     * @param farmGarbageTransfer
+     * @return
+     */
+    @GetMapping("/GarbageTransferInfo/list")
+    public AjaxResult garbageTransferInfoList(FarmGarbageTransfer farmGarbageTransfer) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteGarbageTransferInfoService.garbageTransferInfoList(pageNum, pageSize , farmGarbageTransfer.getName()).getRows());
+    }
+
+    /**
+     * 删除垃圾转输站
+     * @param
+     * @return
+     */
+    @GetMapping("/GarbageTransferInfo/del")
+    public AjaxResult delGarbageTransferInfo(@RequestParam("id") List<String> id) {
+        return remoteGarbageTransferInfoService.delGarbageTransferInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改垃圾转输站
+     * @param json
+     * @return
+     */
+    @PostMapping("/GarbageTransferInfo/put")
+    public AjaxResult putGarbageTransferInfo(@RequestBody String json) {
+        return remoteGarbageTransferInfoService.putGarbageTransferInfo(json);
+    }
+
+    /**
+     * 获取垃圾转输站详情
+     * @param
+     * @return
+     */
+    @GetMapping("/GarbageTransferInfo/edit")
+    public AjaxResult garbageTransferInfoEdit(String id) {
+        return remoteGarbageTransferInfoService.garbageTransferInfoEdit(id);
+    }
+}

+ 85 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/GreenhousefilmController.java

@@ -0,0 +1,85 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmGreenhouseFilmInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteGreenhousefilmService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 棚膜信息
+ */
+@RestController
+@RequestMapping("AppgreenhousefilmController")
+public class GreenhousefilmController {
+    @Resource
+    RemoteGreenhousefilmService remoteGreenhousefilmService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 新增棚膜信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/greenhousefilm")
+    public AjaxResult addGreenhousefilm(@RequestBody String json) {
+        return remoteGreenhousefilmService.addGreenhousefilm(json);
+    }
+
+    /**
+     * 获取棚膜信息列表
+     * @param centerdataTFarmGreenhouseFilmVo
+     * @return
+     */
+    @GetMapping("/greenhousefilm/list")
+    public AjaxResult greenhousefilmList(FarmGreenhouseFilmInfo centerdataTFarmGreenhouseFilmVo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteGreenhousefilmService.greenhousefilmList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除棚膜信息
+     * @param
+     * @return
+     */
+    @GetMapping("/greenhousefilm/del")
+    public AjaxResult delGreenhousefilm(@RequestParam("id") List<String> id) {
+        return remoteGreenhousefilmService.delGreenhousefilm(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改棚膜信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/greenhousefilm/put")
+    public AjaxResult putGreenhousefilm(@RequestBody String json) {
+        return remoteGreenhousefilmService.putGreenhousefilm(json);
+    }
+
+    /**
+     * 获取棚膜信息详情
+     * @param
+     * @return
+     */
+    @GetMapping("/greenhousefilm/edit")
+    public AjaxResult greenhousefilmEdit(String id) {
+        AjaxResult ajaxResult = remoteGreenhousefilmService.greenhousefilmEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ImplementsInfoController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmImplementsInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteImplementsInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ *  农具信息
+ */
+@RestController
+@RequestMapping("AppImplementsInfoController")
+public class ImplementsInfoController {
+    @Resource
+    RemoteImplementsInfoService remoteImplementsInfoService;
+
+    /**
+     * 新增农具信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/ImplementsInfo")
+    public AjaxResult addImplementsInfo(@RequestBody String json) {
+        return remoteImplementsInfoService.addImplementsInfo(json);
+    }
+
+    /**
+     * 获取农具信息列表
+     * @param farmImplementsInfo
+     * @return
+     */
+    @GetMapping("/ImplementsInfo/list")
+    public AjaxResult implementsInfoList(FarmImplementsInfo farmImplementsInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteImplementsInfoService.implementsInfoList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农具信息
+     * @param
+     * @return
+     */
+    @GetMapping("/ImplementsInfo/del")
+    public AjaxResult delImplementsInfo(@RequestParam("id") List<String> id) {
+        return remoteImplementsInfoService.delImplementsInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农具信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/ImplementsInfo/put")
+    public AjaxResult putImplementsInfo(@RequestBody String json) {
+        return remoteImplementsInfoService.putImplementsInfo(json);
+    }
+
+    /**
+     * 获取农具信息详情
+     * @param
+     * @return
+     */
+    @GetMapping("/ImplementsInfo/edit")
+    public AjaxResult implementsInfoEdit(String id) {
+        return remoteImplementsInfoService.implementsInfoEdit(id);
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/InformationController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmPesticideInformation;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteInformationService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 农药信息
+ */
+@RestController
+@RequestMapping("AppinformationController")
+public class InformationController {
+    @Resource
+    RemoteInformationService remoteInformationService;
+
+    /**
+     * 新增农药信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/information")
+    public AjaxResult addInformation(@RequestBody String json) {
+        return remoteInformationService.addInformation(json);
+    }
+
+    /**
+     * 获取农药信息列表
+     * @param farmPesticideInformation
+     * @return
+     */
+    @GetMapping("/information/list")
+    public AjaxResult informationList(FarmPesticideInformation farmPesticideInformation) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteInformationService.informationList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农药信息
+     * @param
+     * @return
+     */
+    @GetMapping("/information/del")
+    public AjaxResult delInformation(@RequestParam("id") List<String> id) {
+        return remoteInformationService.delInformation(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农药信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/information/put")
+    public AjaxResult putInformation(@RequestBody String json) {
+        return remoteInformationService.putInformation(json);
+    }
+
+    /**
+     * 获取农药信息详情
+     * @param
+     * @return
+     */
+    @GetMapping("/information/edit")
+    public AjaxResult informationEdit(String id) {
+        return remoteInformationService.informationEdit(id);
+    }
+}

+ 85 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/LivestockController.java

@@ -0,0 +1,85 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmLivestock;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteLivestockService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 种畜禽养殖场
+ */
+@RestController
+@RequestMapping("ApplivestockController")
+public class LivestockController {
+    @Resource
+    RemoteLivestockService remoteLivestockService;
+    @Resource
+    AppCameraService appCameraService;
+    
+    /**
+     * 新增种畜禽养殖场
+     * @param json
+     * @return
+     */
+    @PostMapping("/livestock")
+    public AjaxResult addLivestock(@RequestBody String json) {
+        return remoteLivestockService.addLivestock(json);
+    }
+
+    /**
+     * 获取种畜禽养殖场列表
+     * @param farmLivestock
+     * @return
+     */
+    @GetMapping("/livestock/list")
+    public AjaxResult livestockList(FarmLivestock farmLivestock) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteLivestockService.livestockList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除种畜禽养殖场
+     * @param
+     * @return
+     */
+    @GetMapping("/livestock/del")
+    public AjaxResult delLivestock(@RequestParam("id") List<String> id) {
+        return remoteLivestockService.delLivestock(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改种畜禽养殖场
+     * @param json
+     * @return
+     */
+    @PostMapping("/livestock/put")
+    public AjaxResult putLivestock(@RequestBody String json) {
+        return remoteLivestockService.putLivestock(json);
+    }
+
+    /**
+     * 获取种畜禽养殖场详情
+     * @param
+     * @return
+     */
+    @GetMapping("/livestock/edit")
+    public AjaxResult livestockEdit(String id) {
+        AjaxResult ajaxResult = remoteLivestockService.livestockEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 76 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/MachineryInfoController.java

@@ -0,0 +1,76 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmMachineryInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteMachineryInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 农机管理
+ */
+@RestController
+@RequestMapping("AppMachineryInfoController")
+public class MachineryInfoController {
+
+    @Resource
+    RemoteMachineryInfoService remoteMachineryInfoService;
+
+    /**
+     * 新增农机管理
+     * @param json
+     * @return
+     */
+    @PostMapping("/MachineryInfo")
+    public AjaxResult addMachineryInfo(@RequestBody String json) {
+        return remoteMachineryInfoService.addMachineryInfo(json);
+    }
+
+    /**
+     * 获取农机管理列表
+     * @param farmMachineryInfo
+     * @return
+     */
+    @GetMapping("/MachineryInfo/list")
+    public AjaxResult machineryInfoList(FarmMachineryInfo farmMachineryInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteMachineryInfoService.machineryInfoList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农机管理
+     * @param
+     * @return
+     */
+    @GetMapping("/MachineryInfo/del")
+    public AjaxResult delMachineryInfo(@RequestParam("id") List<String> id) {
+        return remoteMachineryInfoService.delMachineryInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农机管理
+     * @param json
+     * @return
+     */
+    @PostMapping("/MachineryInfo/put")
+    public AjaxResult putMachineryInfo(@RequestBody String json) {
+        return remoteMachineryInfoService.putMachineryInfo(json);
+    }
+
+    /**
+     * 获取农机管理详情
+     * @param
+     * @return
+     */
+    @GetMapping("/MachineryInfo/edit")
+    public AjaxResult machineryInfoEdit(String id) {
+        return remoteMachineryInfoService.machineryInfoEdit(id);
+    }
+}

+ 86 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ModificationController.java

@@ -0,0 +1,86 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmComplexModification;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteModificationService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 肉牛基层繁改站(点)
+ */
+@RestController
+@RequestMapping("AppmodificationController")
+public class ModificationController {
+    @Resource
+    RemoteModificationService remoteModificationService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 新增肉牛基层繁改站(点)
+     * @param json
+     * @return
+     */
+    @PostMapping("/modification")
+    public AjaxResult addModification(@RequestBody String json) {
+        return remoteModificationService.addModification(json);
+    }
+
+    /**
+     * 获取肉牛基层繁改站(点)列表
+     * @param farmComplexModification
+     * @return
+     */
+    @GetMapping("/modification/list")
+    public AjaxResult modificationList( FarmComplexModification farmComplexModification) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteModificationService.modificationList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除肉牛基层繁改站(点)
+     * @param
+     * @return
+     */
+    @GetMapping("/modification/del")
+    public AjaxResult delModification(@RequestParam("id") List<String> id) {
+        return remoteModificationService.delModification(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改肉牛基层繁改站(点)
+     * @param json
+     * @return
+     */
+    @PostMapping("/modification/put")
+    public AjaxResult putModification(@RequestBody String json) {
+        return remoteModificationService.putModification(json);
+    }
+
+    /**
+     * 获取肉牛基层繁改站(点)
+     * @param
+     * @return
+     */
+    @GetMapping("/modification/edit")
+    public AjaxResult modificationEdit(String id) {
+        AjaxResult ajaxResult = remoteModificationService.modificationEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/PlantInfoController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmPlantInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemotePlantInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 种植管理
+ */
+@RestController
+@RequestMapping("AppPlantInfoController")
+public class PlantInfoController {
+    @Resource
+    RemotePlantInfoService remotePlantInfoService;
+
+    /**
+     * 新增种植管理
+     * @param json
+     * @return
+     */
+    @PostMapping("/PlantInfo")
+    public AjaxResult addPlantInfo(@RequestBody String json) {
+        return remotePlantInfoService.addPlantInfo(json);
+    }
+
+    /**
+     * 获取种植管理列表
+     * @param centerdataTFarmSeedInfo
+     * @return
+     */
+    @GetMapping("/PlantInfo/list")
+    public AjaxResult plantInfoList(FarmPlantInfo centerdataTFarmSeedInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remotePlantInfoService.plantInfoList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除种植管理
+     * @param
+     * @return
+     */
+    @GetMapping("/PlantInfo/del")
+    public AjaxResult delPlantInfo(@RequestParam("id") List<String> id) {
+        return remotePlantInfoService.delPlantInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改种植管理
+     * @param json
+     * @return
+     */
+    @PostMapping("/PlantInfo/put")
+    public AjaxResult putPlantInfo(@RequestBody String json) {
+        return remotePlantInfoService.putPlantInfo(json);
+    }
+
+    /**
+     * 获取种植管理详情
+     * @param
+     * @return
+     */
+    @GetMapping("/PlantInfo/edit")
+    public AjaxResult plantInfoEdit(String id) {
+        return remotePlantInfoService.plantInfoEdit(id);
+    }
+}

+ 76 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/PreventionController.java

@@ -0,0 +1,76 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmVillageAnimalPrevention;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemotePreventionService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 村级动物防疫员
+ */
+@RestController
+@RequestMapping("ApppreventionController")
+public class PreventionController {
+
+    @Resource
+    RemotePreventionService remotePreventionService;
+
+    /**
+     * 新增村级动物防疫员
+     * @param json
+     * @return
+     */
+    @PostMapping("/prevention")
+    public AjaxResult addPrevention(@RequestBody String json) {
+        return remotePreventionService.addPrevention(json);
+    }
+
+    /**
+     * 获取村级动物防疫员
+     * @param farmVillageAnimalPrevention
+     * @return
+     */
+    @GetMapping("/prevention/list")
+    public AjaxResult preventionList(FarmVillageAnimalPrevention farmVillageAnimalPrevention) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remotePreventionService.preventionList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除村级动物防疫员
+     * @param
+     * @return
+     */
+    @GetMapping("/prevention/del")
+    public AjaxResult delPrevention(@RequestParam("id") List<String> id) {
+        return remotePreventionService.delPrevention(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改村级动物防疫员
+     * @param json
+     * @return
+     */
+    @PostMapping("/prevention/put")
+    public AjaxResult putPrevention(@RequestBody  String json) {
+        return remotePreventionService.putPrevention(json);
+    }
+
+    /**
+     * 获取村级动物防疫员详情
+     * @param
+     * @return
+     */
+    @GetMapping("/prevention/edit")
+    public AjaxResult preventionEdit(String id) {
+        return remotePreventionService.preventionEdit(id);
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/ScheduleController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmAutumnHarvestSchedule;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteScheduleService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 秋收进度
+ */
+@RestController
+@RequestMapping("AppscheduleController")
+public class ScheduleController {
+    @Resource
+    RemoteScheduleService remoteScheduleService;
+
+    /**
+     * 新增秋收进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/schedule")
+    public AjaxResult addSchedule(@RequestBody String json) {
+        return remoteScheduleService.addSchedule(json);
+    }
+
+    /**
+     * 获取秋收进度
+     * @param farmAutumnHarvestSchedule
+     * @return
+     */
+    @GetMapping("/schedule/list")
+    public AjaxResult scheduleList(FarmAutumnHarvestSchedule farmAutumnHarvestSchedule) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteScheduleService.scheduleList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除秋收进度
+     * @param
+     * @return
+     */
+    @GetMapping("/schedule/del")
+    public AjaxResult delSchedule(@RequestParam("id") List<String> id) {
+        return remoteScheduleService.delSchedule(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改秋收进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/schedule/put")
+    public AjaxResult putSchedule(@RequestBody String json) {
+        return remoteScheduleService.putSchedule(json);
+    }
+
+    /**
+     * 获取秋收进度详情
+     * @param
+     * @return
+     */
+    @GetMapping("/schedule/edit")
+    public AjaxResult scheduleEdit(String id) {
+        return remoteScheduleService.scheduleEdit(id);
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SeedInfoController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmSeedInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteSeedInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 种子信息
+ */
+@RestController
+@RequestMapping("AppSeedInfoController")
+public class SeedInfoController {
+    @Resource
+    RemoteSeedInfoService remoteSeedInfoService;
+
+    /**
+     * 新增种子信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/SeedInfo")
+    public AjaxResult addSeedInfo(@RequestBody String json) {
+        return remoteSeedInfoService.addSeedInfo(json);
+    }
+
+    /**
+     * 获取种子信息
+     * @param farmSeedInfo
+     * @return
+     */
+    @GetMapping("/SeedInfo/list")
+    public AjaxResult seedInfoList(FarmSeedInfo farmSeedInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success( remoteSeedInfoService.seedInfoList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除种子信息
+     * @param
+     * @return
+     */
+    @GetMapping("/SeedInfo/del")
+    public AjaxResult delSeedInfo(@RequestParam("id") List<String> id) {
+        return remoteSeedInfoService.delSeedInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改种子信息
+     * @param json
+     * @return
+     */
+    @PostMapping("/SeedInfo/put")
+    public AjaxResult putSeedInfo(@RequestBody  String json) {
+        return remoteSeedInfoService.putSeedInfo(json);
+    }
+
+    /**
+     * 获取种子信息详情
+     * @param
+     * @return
+     */
+    @GetMapping("/SeedInfo/edit")
+    public AjaxResult seedInfoEdit(String id) {
+        return remoteSeedInfoService.seedInfoEdit(id);
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SeedingProgressController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmSeedingProgress;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteSeedingProgressService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 春耕播种进度
+ */
+@RestController
+@RequestMapping("AppseedingProgressController")
+public class SeedingProgressController {
+    @Resource
+    RemoteSeedingProgressService remoteSeedingProgressService;
+
+    /**
+     * 新增春耕播种进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/seedingProgress")
+    public AjaxResult addSeedingProgress(@RequestBody String json) {
+        return remoteSeedingProgressService.addSeedingProgress(json);
+    }
+
+    /**
+     * 获取春耕播种进度
+     * @param farmSeedingProgress
+     * @return
+     */
+    @GetMapping("/seedingProgress/list")
+    public AjaxResult seedingProgressList(FarmSeedingProgress farmSeedingProgress) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteSeedingProgressService.seedingProgressList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除春耕播种进度
+     * @param
+     * @return
+     */
+    @GetMapping("/seedingProgress/del")
+    public AjaxResult delSeedingProgress(@RequestParam("id") List<String> id) {
+        return remoteSeedingProgressService.delSeedingProgress(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改春耕播种进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/seedingProgress/put")
+    public AjaxResult putSeedingProgress(@RequestBody String json) {
+        return remoteSeedingProgressService.putSeedingProgress(json);
+    }
+
+    /**
+     * 获取春耕播种进度详情
+     * @param
+     * @return
+     */
+    @GetMapping("/seedingProgress/edit")
+    public AjaxResult seedingProgressEdit(String id) {
+        return remoteSeedingProgressService.seedingProgressEdit(id);
+    }
+}

+ 76 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SeedlingProgressController.java

@@ -0,0 +1,76 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmSeedlingProgress;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteSeedlingProgressService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 春耕出苗进度Controller
+ *
+ */
+@RestController
+@RequestMapping("AppseedlingProgressController")
+public class SeedlingProgressController {
+    @Resource
+    RemoteSeedlingProgressService remoteSeedlingProgressService;
+
+    /**
+     * 新增春耕出苗进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/seedlingProgress")
+    public AjaxResult addSeedlingProgress(@RequestBody String json) {
+        return remoteSeedlingProgressService.addSeedlingProgress(json);
+    }
+
+    /**
+     * 获取春耕出苗进度列表
+     * @param
+     * @return
+     */
+    @GetMapping("/seedlingProgress/list")
+    public AjaxResult seedlingProgressList(FarmSeedlingProgress farmSeedlingProgress) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteSeedlingProgressService.seedlingProgressList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除春耕出苗进度
+     * @param
+     * @return
+     */
+    @GetMapping("/seedlingProgress/del")
+    public AjaxResult delSeedlingProgress(@RequestParam("id") List<String> id) {
+        return remoteSeedlingProgressService.delSeedlingProgress(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改春耕出苗进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/seedlingProgress/put")
+    public AjaxResult putSeedlingProgress(@RequestBody String json) {
+        return remoteSeedlingProgressService.putSeedlingProgress(json);
+    }
+
+    /**
+     * 获取春耕出苗进度详情
+     * @param
+     * @return
+     */
+    @GetMapping("/seedlingProgress/edit")
+    public AjaxResult seedlingProgressEdit(String id) {
+        return remoteSeedlingProgressService.seedlingProgressEdit(id);
+    }
+}

+ 75 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SowingScheduleController.java

@@ -0,0 +1,75 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmSowingSchedule;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteSowingScheduleService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 备春耕进度
+ */
+@RestController
+@RequestMapping("AppsowingScheduleController")
+public class SowingScheduleController {
+    @Resource
+    RemoteSowingScheduleService remoteSowingScheduleService;
+
+    /**
+     * 新增备春耕进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/sowingSchedule")
+    public AjaxResult addSowingSchedule(@RequestBody String json) {
+        return remoteSowingScheduleService.addSowingSchedule(json);
+    }
+
+    /**
+     * 获取备春耕进度列表
+     * @param farmSowingSchedule
+     * @return
+     */
+    @GetMapping("/sowingSchedule/list")
+    public AjaxResult sowingScheduleList(FarmSowingSchedule farmSowingSchedule) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteSowingScheduleService.sowingScheduleList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除备春耕进度
+     * @param
+     * @return
+     */
+    @GetMapping("/sowingSchedule/del")
+    public AjaxResult delSowingSchedule(@RequestParam("id") List<String> id) {
+        return remoteSowingScheduleService.delSowingSchedule(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改备春耕进度
+     * @param json
+     * @return
+     */
+    @PostMapping("/sowingSchedule/put")
+    public AjaxResult putSowingSchedule(@RequestBody String json) {
+        return remoteSowingScheduleService.putSowingSchedule(json);
+    }
+
+    /**
+     * 获取备春耕进度详情
+     * @param
+     * @return
+     */
+    @GetMapping("/sowingSchedule/edit")
+    public AjaxResult sowingScheduleEdit(String id) {
+        return remoteSowingScheduleService.sowingScheduleEdit(id);
+    }
+}

+ 78 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SubsidyInfoController.java

@@ -0,0 +1,78 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmSubsidyInfo;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteSubsidyInfoService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 补贴管理Controller
+ *
+ * @author 韩福成
+ * @date 2023-04-30
+ */
+@RestController
+@RequestMapping("AppSubsidyInfoController")
+public class SubsidyInfoController {
+    @Resource
+    RemoteSubsidyInfoService remoteSubsidyInfoService;
+
+    /**
+     * 新增补助管理
+     * @param json
+     * @return
+     */
+    @PostMapping("/SubsidyInfo")
+    public AjaxResult addSubsidyInfo(@RequestBody String json) {
+        return remoteSubsidyInfoService.addSubsidyInfo(json);
+    }
+
+    /**
+     * 获取补助管理列表
+     * @param farmSubsidyInfo
+     * @return
+     */
+    @GetMapping("/SubsidyInfo/list")
+    public AjaxResult subsidyInfoList(FarmSubsidyInfo farmSubsidyInfo) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteSubsidyInfoService.subsidyInfoList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除补助管理
+     * @param
+     * @return
+     */
+    @GetMapping("/SubsidyInfo/del")
+    public AjaxResult delSubsidyInfo(@RequestParam("id") List<String> id) {
+        return remoteSubsidyInfoService.delSubsidyInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改补助管理
+     * @param json
+     * @return
+     */
+    @PostMapping("/SubsidyInfo/put")
+    public AjaxResult putSubsidyInfo(@RequestBody String json) {
+        return remoteSubsidyInfoService.putSubsidyInfo(json);
+    }
+
+    /**
+     * 获取补助管理详情
+     * @param
+     * @return
+     */
+    @GetMapping("/SubsidyInfo/edit")
+    public AjaxResult subsidyInfoEdit(String id) {
+        return remoteSubsidyInfoService.subsidyInfoEdit(id);
+    }
+}

+ 78 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/SuperviseController.java

@@ -0,0 +1,78 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmAgriculturalSupervise;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteSuperviseService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 农资监管Controller
+ *
+ * @author 韩福成
+ * @date 2023-04-30
+ */
+@RestController
+@RequestMapping("AppsuperviseController")
+public class SuperviseController {
+    @Resource
+    RemoteSuperviseService remoteSuperviseService;
+
+    /**
+     * 新增农资监管
+     * @param json
+     * @return
+     */
+    @PostMapping("/supervise")
+    public AjaxResult addSupervise(@RequestBody String json) {
+        return remoteSuperviseService.addSupervise(json);
+    }
+
+    /**
+     * 获取农资监管列表
+     * @param farmAgriculturalSupervise
+     * @return
+     */
+    @GetMapping("/supervise/list")
+    public AjaxResult superviseList(FarmAgriculturalSupervise farmAgriculturalSupervise) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteSuperviseService.superviseList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农资监管
+     * @param
+     * @return
+     */
+    @GetMapping("/supervise/del")
+    public AjaxResult delSupervise(@RequestParam("id") List<String> id) {
+        return remoteSuperviseService.delSupervise(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农资监管
+     * @param json
+     * @return
+     */
+    @PostMapping("/supervise/put")
+    public AjaxResult putSupervise(@RequestBody String json) {
+        return remoteSuperviseService.putSupervise(json);
+    }
+
+    /**
+     * 获取农资监管详情
+     * @param
+     * @return
+     */
+    @GetMapping("/supervise/edit")
+    public AjaxResult superviseEdit(String id) {
+        return remoteSuperviseService.superviseEdit(id);
+    }
+}

+ 78 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/TrainController.java

@@ -0,0 +1,78 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmTechnologyTrain;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteTrainService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 农民科技培训Controller
+ *
+ * @author 韩福成
+ * @date 2023-04-30
+ */
+@RestController
+@RequestMapping("ApptrainController")
+public class TrainController {
+    @Resource
+    RemoteTrainService remoteTrainService;
+
+    /**
+     * 新增农民科技培训
+     * @param json
+     * @return
+     */
+    @PostMapping("/train")
+    public AjaxResult addTrain(@RequestBody String json) {
+        return remoteTrainService.addTrain(json);
+    }
+
+    /**
+     * 获取农民科技培训列表
+     * @param json
+     * @return
+     */
+    @GetMapping("/train/list")
+    public AjaxResult trainList(FarmTechnologyTrain farmTechnologyTrain) {
+
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteTrainService.trainList(pageNum, pageSize).getRows());
+    }
+
+    /**
+     * 删除农民科技培训
+     * @param
+     * @return
+     */
+    @GetMapping("/train/del")
+    public AjaxResult delTrain(@RequestParam("id") List<String> id) {
+        return remoteTrainService.delTrain(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改农民科技培训
+     * @param json
+     * @return
+     */
+    @PostMapping("/train/put")
+    public AjaxResult putTrain(@RequestBody String json) {
+        return remoteTrainService.putTrain(json);
+    }
+
+    /**
+     * 获取农民科技培训详情
+     * @param
+     * @return
+     */
+    @GetMapping("/train/edit")
+    public AjaxResult trainEdit(String id) {
+        return remoteTrainService.trainEdit(id);
+    }
+}

+ 82 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/controller/TrashCanController.java

@@ -0,0 +1,82 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalagriculture.domain.FarmTrashCan;
+import com.sooka.sponest.data.api.digitalagriculture.service.RemoteTrashCanService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 垃圾桶Controller
+ */
+@RestController
+@RequestMapping("AppTrashCanController")
+public class TrashCanController {
+    @Resource
+    RemoteTrashCanService remoteTrashCanService;
+
+    /**
+     * 获取垃圾桶列表
+     *
+     * @param farmTrashCan
+     * @return
+     */
+    @GetMapping("/trash/list")
+    public AjaxResult trashList(FarmTrashCan farmTrashCan) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = farmTrashCan.getName();
+        String code = farmTrashCan.getCode();
+        return AjaxResult.success(remoteTrashCanService.trashList(pageNum, pageSize,name,code).getRows());
+
+    }
+
+    /**
+     * 获取垃圾桶详情
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/trash/edit")
+    public AjaxResult trashEdit(String id) {
+        return remoteTrashCanService.trashEdit(id);
+    }
+
+    /**
+     * 新增垃圾桶
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/trash")
+    public AjaxResult trash(@RequestBody String json) {
+        return remoteTrashCanService.addTrash(json);
+    }
+
+    /**
+     * 修改垃圾桶
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/trash/put")
+    public AjaxResult putTrash(@RequestBody String json) {
+        return remoteTrashCanService.putTrash(json);
+    }
+
+    /**
+     * 删除垃圾桶
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/trash/del")
+    public AjaxResult delTrash(@RequestParam("id") List<String> id) {
+        return remoteTrashCanService.delTrash(id.toArray(new String[0]));
+    }
+}

+ 35 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/domain/VisuBaseService.java

@@ -0,0 +1,35 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.domain;
+import com.ruoyi.common.datascope.base.domain.BaseBusinessEntity;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.service.TokenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+@Service
+public class VisuBaseService {
+
+    @Value("${sooka.database.database_system:}")
+    public String database_system;
+    @Value("${sooka.database.database_event:}")
+    public String database_event;
+    @Value("${sooka.database.database_data:}")
+    public String database_data;
+    @Value("${sooka.database.database_monitor:}")
+    public String database_monitor;
+
+    public void setSookaDataBase(BaseBusinessEntity entity){
+        entity.setDatabase_system(this.database_system);
+        entity.setDatabase_event(this.database_event);
+        entity.setDatabase_data(this.database_data);
+        entity.setDatabase_monitor(this.database_monitor);
+    }
+
+
+    @Autowired
+    TokenService tokenService;
+
+    @Autowired
+    private RedisService redisService;
+
+}

+ 16 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/service/IDataService.java

@@ -0,0 +1,16 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.service;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.sooka.sponest.data.api.digitalagriculture.domain.AgricultureBO;
+
+public interface IDataService {
+    /**
+     *
+     * 手机端数据中心-标点
+     * @author pengyu
+     * @date 2023/2/22 10:06
+     * @param agricultureBO
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     */
+    public AjaxResult heZuoShePoint(AgricultureBO agricultureBO);
+}

+ 59 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalagriculture/service/impl/DataServiceImpl.java

@@ -0,0 +1,59 @@
+package com.sooka.sponest.mobile.data.digitalagriculture.service.impl;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
+import com.sooka.sponest.data.api.digitalagriculture.domain.AgricultureBO;
+import com.sooka.sponest.mobile.data.digitalagriculture.domain.VisuBaseService;
+import com.sooka.sponest.mobile.data.digitalagriculture.service.IDataService;
+import com.sooka.sponest.mobile.remoteapi.RemoteDataBaseService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class DataServiceImpl extends VisuBaseService implements IDataService {
+
+    @Resource
+    RemoteDataBaseService remoteDataBaseService;
+
+
+    /**
+     *
+     * 手机端数据中心-标点
+     * @author pengyu
+     * @date 2023/2/22 10:07
+     * @param agricultureBO
+     * @return com.ruoyi.common.core.web.domain.AjaxResult
+     */
+    @Override
+    @DataScopeMutiDept(deptAlias = "d",userAlias="u")
+    public AjaxResult heZuoShePoint(AgricultureBO agricultureBO){
+        if("hezuoshe".equals(agricultureBO.getType())){
+            List<AgricultureBO> list =  remoteDataBaseService.HeZuoShePoint(agricultureBO).getData();
+            return AjaxResult.success(list);
+        }
+        if("zhibao".equals(agricultureBO.getType())){
+            List<AgricultureBO> list =  remoteDataBaseService.ZhiBaoPoint(agricultureBO).getData();
+            return AjaxResult.success(list);
+        }
+
+        if("xubao".equals(agricultureBO.getType())){
+            List<AgricultureBO> list =  remoteDataBaseService.XuBaoPoint(agricultureBO).getData();
+            return AjaxResult.success(list);
+        }
+
+        if("nongjizhan".equals(agricultureBO.getType())){
+            List<AgricultureBO> list =  remoteDataBaseService.NongJiZhanPoint(agricultureBO).getData();
+            return AjaxResult.success(list);
+        }
+
+        if("yangzhi".equals(agricultureBO.getType())){
+            List<AgricultureBO> list =  remoteDataBaseService.YangZhiPoint(agricultureBO).getData();
+            return AjaxResult.success(list);
+        }
+
+        return AjaxResult.error("查询失败");
+
+    }
+}

+ 82 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyEnterprisesController.java

@@ -0,0 +1,82 @@
+package com.sooka.sponest.mobile.data.digitalemergencycontroller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalemergency.domain.EmergencyEnterprises;
+import com.sooka.sponest.data.api.digitalemergency.service.RemoteEmergencyEnterprisesService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 危化企业Controller
+ *
+ * @author phy
+ * @date 2022-07-12
+ */
+@RestController
+@RequestMapping("/AppEmergencyEnterprisesController")
+public class AppEmergencyEnterprisesController extends BaseController {
+
+    @Resource
+    RemoteEmergencyEnterprisesService remoteEmergencyEnterprisesService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询危化企业列表
+     */
+    @GetMapping("/Enterprises/list")
+    public AjaxResult list(EmergencyEnterprises emergencyEnterprises) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteEmergencyEnterprisesService.selectEnterprisesList(pageNum, pageSize, emergencyEnterprises.getName()).getRows());
+    }
+
+
+    /**
+     * 获取危化企业详细信息
+     */
+    @GetMapping("/Enterprises/edit")
+    public AjaxResult getInfo(String id) {
+        AjaxResult ajaxResult = remoteEmergencyEnterprisesService.selectEnterprisesById(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增危化企业集点
+     */
+    @PostMapping("/Enterprises")
+    public AjaxResult add(@RequestBody String json) {
+        return remoteEmergencyEnterprisesService.insertEnterprises(json);
+    }
+    /**
+     * 修改危化企业收集点
+     */
+    @PostMapping("/Enterprises/put")
+    public AjaxResult edit(@RequestBody String json) {
+        return remoteEmergencyEnterprisesService.updateEnterprises(json);
+    }
+
+    /**
+     * 删除危化企业收集点
+     */
+    @GetMapping("/Enterprises/del")
+    public AjaxResult remove(@RequestParam("id") List<String> id) {
+        return remoteEmergencyEnterprisesService.deleteEnterprisesByIds(id.toArray(new String[0]));
+    }
+
+
+}

+ 87 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyMaterialController.java

@@ -0,0 +1,87 @@
+package com.sooka.sponest.mobile.data.digitalemergencycontroller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalemergency.domain.EmergencyMaterial;
+import com.sooka.sponest.data.api.digitalemergency.service.RemoteEmergencyMaterialService;
+import com.sooka.sponest.data.api.digitalemergency.service.RemoteEmergencyWarehouseService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 应急物资Controller
+ *
+ * @author ruoyi
+ * @date 2022-07-20
+ */
+@RestController
+@RequestMapping("/AppEmergencyMaterialController")
+public class AppEmergencyMaterialController extends BaseController {
+
+    @Resource
+    RemoteEmergencyMaterialService remoteEmergencyMaterialService;
+    @Resource
+    RemoteEmergencyWarehouseService remoteEmergencyWarehouseService;
+
+    /**
+     * 查询应急物资列表
+     */
+    @GetMapping("/EmergencyMaterial/list")
+    public AjaxResult list(EmergencyMaterial emergencyMaterial) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String materialName = emergencyMaterial.getMaterialName();
+        String warehouseName = emergencyMaterial.getWarehouseName();
+        String depositAddress = emergencyMaterial.getDepositAddress();
+        return AjaxResult.success(remoteEmergencyMaterialService.selectCenterdataTEmergencyMaterialList(pageNum, pageSize, materialName, warehouseName, depositAddress).getRows());
+    }
+
+
+    /**
+     * 获取应急物资详细信息
+     */
+    @GetMapping("/EmergencyMaterial/edit")
+    public AjaxResult getInfo(String id) {
+        return remoteEmergencyMaterialService.selectCenterdataTEmergencyMaterialById(id);
+    }
+
+    /**
+     * 新增应急物资
+     */
+    @PostMapping("/EmergencyMaterial")
+    public AjaxResult add(@RequestBody String json) {
+        return remoteEmergencyMaterialService.insertCenterdataTEmergencyMaterial(json);
+    }
+
+    /**
+     * 修改应急物资
+     */
+    @PostMapping("/EmergencyMaterial/put")
+    public AjaxResult edit(@RequestBody String json) {
+        return remoteEmergencyMaterialService.updateCenterdataTEmergencyMaterial(json);
+    }
+
+    /**
+     * 删除应急物资
+     */
+    @GetMapping("/EmergencyMaterial/del")
+    public AjaxResult remove(@RequestParam("id") List<String> id) {
+        return remoteEmergencyMaterialService.deleteCenterdataTEmergencyMaterialByIds(id.toArray(new String[0]));
+    }
+
+    /**
+     * 物资仓库
+     *
+     * @return
+     */
+    @GetMapping("/selectAppWarehouseList")
+    public AjaxResult warehouseList() {
+        AjaxResult ajaxResult = remoteEmergencyWarehouseService.warehouseList();
+        return AjaxResult.success(ajaxResult.get("data"));
+    }
+}

+ 83 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyTeamController.java

@@ -0,0 +1,83 @@
+package com.sooka.sponest.mobile.data.digitalemergencycontroller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalemergency.domain.EmergencyTeam;
+import com.sooka.sponest.data.api.digitalemergency.service.RemoteEmergencyTeamService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 应急队伍Controller
+ *
+ * @author ruoyi
+ * @date 2022-07-20
+ */
+@RestController
+@RequestMapping("/AppEmergencyTeamController")
+public class AppEmergencyTeamController extends BaseController {
+
+    @Resource
+    RemoteEmergencyTeamService remoteEmergencyTeamService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询应急队伍列表
+     */
+    @GetMapping("/EmergencyTeam/list")
+    public AjaxResult list(EmergencyTeam emergencyTeam) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = emergencyTeam.getName();
+        return AjaxResult.success(remoteEmergencyTeamService.selectCenterdataTEmergencyTeamList(pageNum, pageSize, name).getRows());
+    }
+
+
+    /**
+     * 获取应急队伍详细信息
+     */
+    @GetMapping("/EmergencyTeam/edit")
+    public AjaxResult getInfo(String id) {
+        AjaxResult ajaxResult = remoteEmergencyTeamService.selectCenterdataTEmergencyTeamById(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增应急队伍
+     */
+    @PostMapping("/EmergencyTeam")
+    public AjaxResult add(@RequestBody String json) {
+        return remoteEmergencyTeamService.insertCenterdataTEmergencyTeam(json);
+    }
+
+    /**
+     * 修改应急队伍
+     */
+    @PostMapping("/EmergencyTeam/put")
+    public AjaxResult edit(@RequestBody String json) {
+        return remoteEmergencyTeamService.updateCenterdataTEmergencyTeam(json);
+    }
+
+    /**
+     * 删除应急队伍
+     */
+    @GetMapping("/EmergencyTeam/del")
+    public AjaxResult remove(@RequestParam("id") List<String> id) {
+        return remoteEmergencyTeamService.deleteCenterdataTEmergencyTeamByIds(id.toArray(new String[0]));
+    }
+
+}

+ 82 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalemergencycontroller/AppEmergencyWarehouseController.java

@@ -0,0 +1,82 @@
+package com.sooka.sponest.mobile.data.digitalemergencycontroller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalemergency.domain.EmergencyWarehouse;
+import com.sooka.sponest.data.api.digitalemergency.service.RemoteEmergencyWarehouseService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 仓库信息Controller
+ *
+ * @author ruoyi
+ * @date 2022-07-20
+ */
+@RestController
+@RequestMapping("/AppEmergencyWarehouseController")
+public class AppEmergencyWarehouseController extends BaseController {
+    @Resource
+    RemoteEmergencyWarehouseService remoteEmergencyWarehouseService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询仓库信息列表
+     */
+    @GetMapping("/EmergencyWarehouse/list")
+    public AjaxResult list(EmergencyWarehouse emergencyWarehouse) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = emergencyWarehouse.getName();
+        return AjaxResult.success(remoteEmergencyWarehouseService.selectCenterdataTEmergencyWarehouseList(pageNum, pageSize, name).getRows());
+    }
+
+
+    /**
+     * 获取仓库信息详细信息
+     */
+    @GetMapping("/EmergencyWarehouse/edit")
+    public AjaxResult getInfo(String id) {
+        AjaxResult ajaxResult = remoteEmergencyWarehouseService.selectCenterdataTEmergencyWarehouseById(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增仓库信息
+     */
+    @PostMapping("/EmergencyWarehouse")
+    public AjaxResult add(@RequestBody String json) {
+        return remoteEmergencyWarehouseService.insertCenterdataTEmergencyWarehouse(json);
+    }
+
+    /**
+     * 修改仓库信息
+     */
+    @PostMapping("/EmergencyWarehouse/put")
+    public AjaxResult edit(@RequestBody String json) {
+        return remoteEmergencyWarehouseService.updateCenterdataTEmergencyWarehouse(json);
+    }
+
+    /**
+     * 删除仓库信息
+     */
+    @GetMapping("/EmergencyWarehouse/del")
+    public AjaxResult remove(@RequestParam("id") List<String> id) {
+        return remoteEmergencyWarehouseService.deleteCenterdataTEmergencyWarehouseByIds(id.toArray(new String[0]));
+    }
+
+}

+ 88 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalenvironmentcontroller/PollutionSourceController.java

@@ -0,0 +1,88 @@
+package com.sooka.sponest.mobile.data.digitalenvironmentcontroller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalenvironment.domain.EnvironmentSourcePollution;
+import com.sooka.sponest.data.api.digitalenvironment.service.RemoteSourcePollutionService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 污染源管理Controller
+ *
+ * @author lyq
+ * @date 2022-11-01
+ */
+
+@RestController
+@RequestMapping("/AppPollutionSourceController")
+public class PollutionSourceController extends BaseController {
+
+    @Autowired
+    private RemoteSourcePollutionService pollutionSourceService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询污染源管理列表
+     */
+    @GetMapping("/pollutionSource/list")
+    public AjaxResult list(EnvironmentSourcePollution environmentSourcePollution) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = environmentSourcePollution.getName();
+        String address = environmentSourcePollution.getAddress();
+        Long type = environmentSourcePollution.getType();
+        return AjaxResult.success(pollutionSourceService.pollutionSourceList(pageNum, pageSize, name, address, type).getRows());
+    }
+
+
+    /**
+     * 获取污染源管理详细信息
+     */
+    @GetMapping("/pollutionSource/edit")
+    public AjaxResult getInfo(EnvironmentSourcePollution environmentSourcePollution) {
+        AjaxResult ajaxResult = pollutionSourceService.pollutionSourceGetInfo(environmentSourcePollution.getId());
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增污染源管理
+     */
+    @PostMapping("/pollutionSource")
+    public AjaxResult add(@RequestBody String json) {
+        return pollutionSourceService.pollutionSourceAdd(json);
+    }
+
+    /**
+     * 修改污染源管理
+     */
+    @PostMapping("/pollutionSource/put")
+    public AjaxResult edit(@RequestBody String json) {
+        return pollutionSourceService.pollutionSourceEdit(json);
+    }
+
+    /**
+     * 删除污染源管理
+     */
+    @GetMapping("/pollutionSource/del")
+    public AjaxResult remove(@RequestParam("id") List<String> id) {
+        return pollutionSourceService.pollutionSourceRemove(id.toArray(new String[0]));
+    }
+
+}

+ 88 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalenvironmentcontroller/SewageOutletController.java

@@ -0,0 +1,88 @@
+package com.sooka.sponest.mobile.data.digitalenvironmentcontroller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalenvironment.domain.EnvironmentSewageOutlet;
+import com.sooka.sponest.data.api.digitalenvironment.service.RemoteSewageOutetService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 排污口
+ * Controller
+ *
+ * @author 韩福成
+ * @date 2023-04-21
+ */
+@RestController
+@RequestMapping("/AppSewageoutletController")
+public class SewageOutletController extends BaseController {
+
+    @Autowired
+    private RemoteSewageOutetService sewageOutletList;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询排污口列表
+     */
+    @GetMapping("/sewageoutlet/list")
+    public AjaxResult list(EnvironmentSewageOutlet environmentSewageOutlet) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = environmentSewageOutlet.getName();
+        return AjaxResult.success(sewageOutletList.sewageOutletList(pageNum, pageSize, name).getRows());
+    }
+
+
+    /**
+     * 获取排污口详细信息
+     */
+    @GetMapping(value = "/sewageoutlet/edit")
+    public AjaxResult getInfo(EnvironmentSewageOutlet environmentSewageOutlet) {
+        AjaxResult ajaxResult = sewageOutletList.sewageOutletGetInfo(environmentSewageOutlet.getId());
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增排污口
+     */
+    @PostMapping("/sewageoutlet")
+    public AjaxResult add(@RequestBody String json) {
+        //因客户提供的数据有重复名称
+        return sewageOutletList.sewageOutletAdd(json);
+    }
+
+    /**
+     * 修改排污口
+     */
+    @PostMapping("/sewageoutlet/put")
+    public AjaxResult edit(@RequestBody String json) {
+        //因客户提供的数据有重复名称
+        return sewageOutletList.sewageOutletEdit(json);
+    }
+
+    /**
+     * 删除排污口
+     */
+    @GetMapping("/sewageoutlet/del")
+    public AjaxResult remove(@RequestParam("id") List<String> id) {
+        return sewageOutletList.sewageOutletRemove(id.toArray(new String[0]));
+    }
+
+}

+ 87 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalenvironmentcontroller/WaterMonitorController.java

@@ -0,0 +1,87 @@
+package com.sooka.sponest.mobile.data.digitalenvironmentcontroller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalenvironment.domain.EnvironmentWaterMonitor;
+import com.sooka.sponest.data.api.digitalenvironment.service.RemoteWaterMonitorService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 数字环保-水质断面监测管理
+ */
+@RestController
+@RequestMapping("AppWaterMonitorController")
+public class WaterMonitorController {
+
+    @Resource
+    private RemoteWaterMonitorService RemoteWaterMonitorService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 手机端查询水质断面监测列表
+     * @param monitor
+     * @return
+     */
+    @GetMapping("/waterMonitor/list")
+    public AjaxResult getwaterMonitorList(EnvironmentWaterMonitor monitor){
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = monitor.getName();
+        return AjaxResult.success(RemoteWaterMonitorService.getWaterMonitorList(pageNum, pageSize, name).getRows());
+    }
+
+    /**
+     * 手机端新增水质断面监测数据
+     * @param json
+     * @return
+     */
+    @PostMapping("/waterMonitor")
+    public AjaxResult addWaterMonitor(@RequestBody String json){
+        return RemoteWaterMonitorService.addWaterMonitor(json);
+    }
+
+    /**
+     * 手机端删除水质断面监测数据
+     * @param id
+     * @return
+     */
+    @GetMapping("/waterMonitor/del")
+    public AjaxResult deleteWaterMonitor(@RequestParam("id") List<String> id){
+        return RemoteWaterMonitorService.deleteWaterMonitor(id.toArray(new String[0]));
+    }
+
+    /**
+     * 手机端修改水质断面监测数据
+     * @param json
+     * @return
+     */
+    @PostMapping("/waterMonitor/put")
+    public AjaxResult putWaterMonitor(@RequestBody String json){
+        return RemoteWaterMonitorService.putWaterMoniotr(json);
+    }
+
+    /**
+     * 手机端查询水质断面监测详情
+     * @param id
+     * @return
+     */
+    @GetMapping("/waterMonitor/edit")
+    public AjaxResult editWaterMonitor(String id){
+        AjaxResult ajaxResult = RemoteWaterMonitorService.editWaterMonitor(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+}

+ 83 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolBasicLinkageForceController.java

@@ -0,0 +1,83 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteBasicLinkageForceService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+@RestController
+@RequestMapping("/AppBasicLinkageForceController")
+public class FirecontrolBasicLinkageForceController {
+
+    @Resource
+    RemoteBasicLinkageForceService remoteBasicLinkageForceService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询基本联动力量管理列表
+     */
+    @GetMapping("/BasicLinkageForceInfoList/list")
+    public AjaxResult BasicLinkageForceInfoList(BasicLinkageForce basicLinkageForce) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteBasicLinkageForceService.BasicLinkageForceInfoList(pageNum, pageSize, basicLinkageForce.getInstitutionName(), basicLinkageForce.getCompany()).getRows());
+    }
+
+
+    /**
+     * 获取基本联动力量管理详细信息
+     */
+    @GetMapping("/BasicLinkageForceInfo/edit")
+    public AjaxResult BasicLinkageForceInfoedit(String id) {
+        AjaxResult ajaxResult = remoteBasicLinkageForceService.BasicLinkageForceInfoedit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 删除基本联动力量
+     */
+    @GetMapping("/BasicLinkageForceInfo/del")
+    public AjaxResult delBasicLinkageForceInfo(@RequestParam("id") List<String> id) {
+        return remoteBasicLinkageForceService.deldelBasicLinkageForceInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改基本联动力量
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/BasicLinkageForceInfo/put")
+    public AjaxResult putBasicLinkageForceInfo(@RequestBody String json) {
+        return remoteBasicLinkageForceService.putBasicLinkageForceInfo(json);
+    }
+
+
+    /**
+     * 新增基本联动力量
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/BasicLinkageForceInfo")
+    public AjaxResult BasicLinkageForceInfo(@RequestBody String json) {
+        return remoteBasicLinkageForceService.addBasicLinkageForceInfo(json);
+    }
+
+}

+ 93 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFireKeyPlacesController.java

@@ -0,0 +1,93 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.domain.FireKeyPlaces;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteFireKeyPlacesService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/AppkeyplacesController")
+public class FirecontrolFireKeyPlacesController {
+
+
+    @Resource
+    RemoteFireKeyPlacesService remoteFireKeyPlacesService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询重点场所管理列表
+     *
+     * @param fireKeyPlaces
+     * @return
+     */
+    @GetMapping("/keyplacesInfoList/list")
+    public AjaxResult keyplacesInfoList(FireKeyPlaces fireKeyPlaces) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFireKeyPlacesService.keyplacesInfoList(pageNum, pageSize, fireKeyPlaces.getName()).getRows());
+    }
+
+    /**
+     * 获取重点场所管理详细信息
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/keyplacesInfo/edit")
+    public AjaxResult keyplacesInfoedit(String id) {
+        AjaxResult ajaxResult = remoteFireKeyPlacesService.keyplacesInfoedit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 删除重点场所管理
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/keyplacesInfo/del")
+    public AjaxResult delkeyplacesInfo(@RequestParam("id") List<String> id) {
+        return remoteFireKeyPlacesService.delkeyplacesInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改重点场所管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/keyplacesInfo/put")
+    public AjaxResult putkeyplacesInfo(@RequestBody String json) {
+        return remoteFireKeyPlacesService.putkeyplacesInfo(json);
+    }
+
+
+    /**
+     * 新增重点场所管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/keyplacesInfo")
+    public AjaxResult keyplacesInfo(@RequestBody String json) {
+        return remoteFireKeyPlacesService.addkeyplacesInfo(json);
+    }
+
+}

+ 87 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFirePressureSensorController.java

@@ -0,0 +1,87 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.domain.FirePressureSensor;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteFirePressureSensorService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+@RestController
+@RequestMapping("/AppFirePressureSensorController")
+public class FirecontrolFirePressureSensorController {
+
+    @Resource
+    RemoteFirePressureSensorService remoteFirePressureSensorService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询压力传感器管理列表
+     *
+     * @param firePressureSensor
+     * @return
+     */
+    @GetMapping("/FirePressureSensorInfoList/list")
+    public AjaxResult FirePressureSensorInfoList(FirePressureSensor firePressureSensor) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFirePressureSensorService.FirePressureSensorInfoList(pageNum, pageSize, firePressureSensor.getName()).getRows());
+    }
+
+
+    /**
+     * 获取压力传感器管理详细信息
+     */
+    @GetMapping(value = "/FirePressureSensorInfo/edit")
+    public AjaxResult FirePressureSensorInfoedit(String id) {
+        AjaxResult ajaxResult = remoteFirePressureSensorService.FirePressureSensorInfoedit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 删除压力传感器
+     */
+    @GetMapping("/FirePressureSensorInfo/del")
+    public AjaxResult delFirePressureSensorInfo(@RequestParam("id") List<String> id) {
+        return remoteFirePressureSensorService.delFirePressureSensorInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改压力传感器管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FirePressureSensorInfo/put")
+    public AjaxResult putFirePressureSensorInfo(@RequestBody String json) {
+        return remoteFirePressureSensorService.putFirePressureSensorInfo(json);
+    }
+
+
+    /**
+     * 新增压力传感器管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FirePressureSensorInfo")
+    public AjaxResult FirePressureSensorInfo(@RequestBody String json) {
+        return remoteFirePressureSensorService.addFirePressureSensorInfo(json);
+    }
+}

+ 93 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFireforceController.java

@@ -0,0 +1,93 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.domain.FireForce;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteFireForceService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/AppFireforceController")
+public class FirecontrolFireforceController {
+
+
+    @Resource
+    RemoteFireForceService remoteFireForceService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询消防力量管理列表
+     *
+     * @param fireForce
+     * @return
+     */
+    @GetMapping("/fireforceInfoList/list")
+    public AjaxResult fireforceInfoList(FireForce fireForce) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFireForceService.FirecontrolFireForceInfoList(pageNum, pageSize, fireForce.getVillage(), fireForce.getAddress(), fireForce.getPrincipal()).getRows());
+    }
+
+    /**
+     * 获取消防力量管理详细信息
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/fireforceInfo/edit")
+    public AjaxResult fireforceInfoedit(String id) {
+        AjaxResult ajaxResult = remoteFireForceService.FirecontrolFireForceInfoedit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 删除消防力量管理
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/fireforceInfo/del")
+    public AjaxResult deldelFirecontrolFireForceInfo(@RequestParam("id") List<String> id) {
+        return remoteFireForceService.deldelFirecontrolFireForceInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改消防力量管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/fireforceInfo/put")
+    public AjaxResult putFirecontrolFireForceInfo(@RequestBody String json) {
+        return remoteFireForceService.putFirecontrolFireForceInfo(json);
+    }
+
+
+    /**
+     * 新增消防力量管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/fireforceInfo")
+    public AjaxResult addFirecontrolFireForceInfo(@RequestBody String json) {
+        return remoteFireForceService.addFirecontrolFireForceInfo(json);
+    }
+
+}

+ 89 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFoamLiquidController.java

@@ -0,0 +1,89 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.domain.FireFoamLiquid;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteFireFoamLiquidService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+@RestController
+@RequestMapping("/AppFirecontrolFoamLiquidController")
+public class FirecontrolFoamLiquidController {
+
+    @Resource
+    RemoteFireFoamLiquidService remoteFireFoamLiquidService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询泡沫液管理列表
+     */
+    @GetMapping("/FoamLiquidInfoList/list")
+    public AjaxResult FirecontrolFoamLiquidInfoList(FireFoamLiquid fireFoamLiquid) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFireFoamLiquidService.FirecontrolFoamLiquidInfoList(pageNum, pageSize, fireFoamLiquid.getCompany(), fireFoamLiquid.getContacts()).getRows());
+    }
+
+    /**
+     * 获取泡沫液管理详细信息
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/FoamLiquidInfo/edit")
+    public AjaxResult FoamLiquidInfoedit(String id) {
+        AjaxResult ajaxResult = remoteFireFoamLiquidService.FoamLiquidInfoedit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 删除泡沫液管理
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/FoamLiquidInfo/del")
+    public AjaxResult delFoamLiquidInfo(@RequestParam("id") List<String> id) {
+        return remoteFireFoamLiquidService.delFoamLiquidInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改泡沫液管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FoamLiquidInfo/put")
+    public AjaxResult putFoamLiquidInfo(@RequestBody String json) {
+        return remoteFireFoamLiquidService.putFoamLiquidInfo(json);
+    }
+
+    /**
+     * 新增泡沫液管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FoamLiquidInfo")
+    public AjaxResult FoamLiquidInfo(@RequestBody String json) {
+        return remoteFireFoamLiquidService.addFoamLiquidInfo(json);
+    }
+
+}

+ 88 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolFulltimeStationController.java

@@ -0,0 +1,88 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.domain.FireFulltimeStation;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteFireFulltimeStationService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/AppFulltimeStationController")
+public class FirecontrolFulltimeStationController {
+
+    @Resource
+    RemoteFireFulltimeStationService remoteFireFulltimeStationService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询专职站管理列表
+     */
+    @GetMapping("/FulltimeStationInfoList/list")
+    public AjaxResult FulltimeStationInfoList(FireFulltimeStation fireFulltimeStation) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFireFulltimeStationService.FulltimeStationInfoList(pageNum, pageSize, fireFulltimeStation.getAddress(), fireFulltimeStation.getPrincipal()).getRows());
+    }
+
+    /**
+     * 获取专职站管理详细信息
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/FulltimeStationInfo/edit")
+    public AjaxResult FulltimeStationInfoedit(String id) {
+        AjaxResult ajaxResult = remoteFireFulltimeStationService.FulltimeStationInfoedit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 删除专职站管理
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/FulltimeStationInfo/del")
+    public AjaxResult delFulltimeStationInfo(@RequestParam("id") List<String> id) {
+        return remoteFireFulltimeStationService.delFulltimeStationInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改专职站管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FulltimeStationInfo/put")
+    public AjaxResult putFulltimeStationInfo(@RequestBody String json) {
+        return remoteFireFulltimeStationService.putFulltimeStationInfo(json);
+    }
+
+
+    /**
+     * 新增专职站管理
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FulltimeStationInfo")
+    public AjaxResult FulltimeStationInfo(@RequestBody String json) {
+        return remoteFireFulltimeStationService.addFulltimeStationInfo(json);
+    }
+}

+ 86 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolOtherLinkageForceController.java

@@ -0,0 +1,86 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.domain.FireOtherLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteFireOtherLinkageForceService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+
+@RestController
+@RequestMapping("/AppOtherLinkageForceController")
+public class FirecontrolOtherLinkageForceController {
+
+    @Resource
+    RemoteFireOtherLinkageForceService remoteFireOtherLinkageForceService;
+
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 查询其他联动力量管理列表
+     */
+    @GetMapping("/OtherLinkageForceInfoList/list")
+    public AjaxResult OtherLinkageForceInfoList(FireOtherLinkageForce firecontrolOtherLinkageForce) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFireOtherLinkageForceService.OtherLinkageForce(pageNum, pageSize, firecontrolOtherLinkageForce.getCompany(), firecontrolOtherLinkageForce.getContacts()).getRows());
+    }
+
+
+    /**
+     * 获取其他联动力量管理详细信息
+     */
+    @GetMapping(value = "/OtherLinkageForceInfo/edit")
+    public AjaxResult OtherLinkageForceInfo(String id) {
+        AjaxResult ajaxResult = remoteFireOtherLinkageForceService.OtherLinkageForceInfo(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 删除其他联动力量
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/OtherLinkageForceInfo/del")
+    public AjaxResult delOtherLinkageForceInfo(@RequestParam("id") List<String> id) {
+        return remoteFireOtherLinkageForceService.delOtherLinkageForceInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改其他联动力量
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/OtherLinkageForceInfo/put")
+    public AjaxResult putOtherLinkageForceInfo(@RequestBody String json) {
+        return remoteFireOtherLinkageForceService.putOtherLinkageForceInfo(json);
+    }
+
+    /**
+     * 新增其他联动力量
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/OtherLinkageForceInfo")
+    public AjaxResult addOtherLinkageForceInfo(@RequestBody String json) {
+        return remoteFireOtherLinkageForceService.addOtherLinkageForceInfo(json);
+    }
+}

+ 80 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalfirecontrol/FirecontrolPersonController.java

@@ -0,0 +1,80 @@
+package com.sooka.sponest.mobile.data.digitalfirecontrol;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalfire.domain.FirePerson;
+import com.sooka.sponest.data.api.digitalfire.service.RemoteFirePersonService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping("/AppFirecontrolPersonController")
+public class FirecontrolPersonController {
+
+    @Resource
+    RemoteFirePersonService remoteFirePersonService;
+
+    /**
+     * 查询消防人员列表
+     *
+     * @param firePerson
+     * @return
+     */
+    @GetMapping("/FirecontrolPersonInfoList/list")
+    public AjaxResult FirecontrolPersonInfoList(FirePerson firePerson) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        return AjaxResult.success(remoteFirePersonService.FirecontrolPersonInfoList(pageNum, pageSize, firePerson.getName()).getRows());
+    }
+
+    /**
+     * 获取消防人员详细信息
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/FirecontrolPersonInfo/edit")
+    public AjaxResult FirecontrolPersonInfoedit(String id) {
+        return remoteFirePersonService.FirecontrolPersonInfoedit(id);
+    }
+
+    /**
+     * 删除消防人员
+     *
+     * @param
+     * @return
+     */
+    @GetMapping("/FirecontrolPersonInfo/del")
+    public AjaxResult delFirecontrolPersonInfo(@RequestParam("id") List<String> id) {
+        return remoteFirePersonService.delFirecontrolPersonInfo(id.toArray(new String[0]));
+    }
+
+    /**
+     * 修改消防人员
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FirecontrolPersonInfo/put")
+    public AjaxResult putFirecontrolPersonInfo(@RequestBody String json) {
+        return remoteFirePersonService.putFirecontrolPersonInfo(json);
+    }
+
+
+    /**
+     * 新增消防人员
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/FirecontrolPersonInfo")
+    public AjaxResult FirecontrolPersonInfo(@RequestBody String json) {
+        return remoteFirePersonService.addFirecontrolPersonInfo(json);
+    }
+}

+ 83 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalforestController/AfforestationController.java

@@ -0,0 +1,83 @@
+package com.sooka.sponest.mobile.data.digitalforestController;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalforest.domain.Afforestation;
+import com.sooka.sponest.data.api.digitalforest.service.RemoteAfforestationService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("AppAfforestationController")
+public class AfforestationController {
+    @Resource
+    RemoteAfforestationService remoteAfforestationService;
+
+    /**
+     * 获取植树计划
+     *
+     * @param afforestation
+     * @return
+     */
+    @GetMapping("/afforestation/list")
+    public AjaxResult afforestationList(Afforestation afforestation) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        Date planStartTime = afforestation.getPlanStartTime();
+        Date planEndTime = afforestation.getPlanEndTime();
+        String plantingQuantity = afforestation.getPlantingQuantity();
+        return AjaxResult.success(remoteAfforestationService.afforestationList(pageNum, pageSize, plantingQuantity, planStartTime, planEndTime).getRows());
+
+    }
+
+    /**
+     * 获取植树计划详情
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/afforestation/edit")
+    public AjaxResult afforestationEdit(String id) {
+        return remoteAfforestationService.afforestationEdit(id);
+    }
+
+    /**
+     * 新增植树计划
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/afforestation")
+    public AjaxResult afforestation(@RequestBody String json) {
+        return remoteAfforestationService.addAfforestation(json);
+    }
+
+    /**
+     * 修改植树计划
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/afforestation/put")
+    public AjaxResult putAfforestation(@RequestBody String json) {
+        return remoteAfforestationService.putAfforestation(json);
+    }
+
+    /**
+     * 删除植树计划
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/afforestation/del")
+    public AjaxResult delAfforestation(@RequestParam("id") List<String> id) {
+        return remoteAfforestationService.delAfforestation(id.toArray(new String[0]));
+    }
+}

+ 80 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalforestController/ChangBrandController.java

@@ -0,0 +1,80 @@
+package com.sooka.sponest.mobile.data.digitalforestController;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalforest.domain.Changbrand;
+import com.sooka.sponest.data.api.digitalforest.service.RemoteChangbrandService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping("AppChangbrandController")
+public class ChangBrandController {
+    @Resource
+    RemoteChangbrandService remoteChangbrandService;
+
+    /**
+     * 获取林长牌
+     *
+     * @param changbrand
+     * @return
+     */
+    @GetMapping("/changbrand/list")
+    public AjaxResult changbrandList(Changbrand changbrand) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String brandName = changbrand.getBrandName();
+        return AjaxResult.success(remoteChangbrandService.changbrandList(pageNum, pageSize, brandName).getRows());
+
+    }
+
+    /**
+     * 获取林长牌详情
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/changbrand/edit")
+    public AjaxResult changbrandEdit(String id) {
+        return remoteChangbrandService.changbrandEdit(id);
+    }
+
+    /**
+     * 新增林长牌
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/changbrand")
+    public AjaxResult changbrand(@RequestBody String json) {
+        return remoteChangbrandService.addChangbrand(json);
+    }
+
+    /**
+     * 修改林长牌
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/changbrand/put")
+    public AjaxResult putChangbrand(@RequestBody String json) {
+        return remoteChangbrandService.putChangbrand(json);
+    }
+
+    /**
+     * 删除林长牌
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/changbrand/del")
+    public AjaxResult delChangbrand(@RequestParam("id") List<String> id) {
+        return remoteChangbrandService.delChangbrand(id.toArray(new String[0]));
+    }
+}

+ 92 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalforestController/ChannelController.java

@@ -0,0 +1,92 @@
+package com.sooka.sponest.mobile.data.digitalforestController;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalforest.domain.Channel;
+import com.sooka.sponest.data.api.digitalforest.service.RemoteChannelService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("AppChannelController")
+public class ChannelController {
+    @Resource
+    RemoteChannelService remoteChannelService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 获取水源渠道信息
+     *
+     * @param channel
+     * @return
+     */
+    @GetMapping("/channel/list")
+    public AjaxResult channelList(Channel channel) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String channelPerson = channel.getChannelPerson();
+        String channelTel = channel.getChannelTel();
+        String name = channel.getName();
+        return AjaxResult.success(remoteChannelService.channelList(pageNum, pageSize, name, channelPerson, channelTel).getRows());
+
+    }
+
+    /**
+     * 获取水源渠道信息详情
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/channel/edit")
+    public AjaxResult channelEdit(String id) {
+        AjaxResult ajaxResult = remoteChannelService.channelEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增水源渠道信息
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/channel")
+    public AjaxResult channel(@RequestBody String json) {
+        return remoteChannelService.addChannel(json);
+    }
+
+    /**
+     * 修改水源渠道信息
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/channel/put")
+    public AjaxResult putchannel(@RequestBody String json) {
+        return remoteChannelService.putChannel(json);
+    }
+
+    /**
+     * 删除水源渠道信息
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/channel/del")
+    public AjaxResult delchannel(@RequestParam("id") List<String> id) {
+        return remoteChannelService.delChannel(id.toArray(new String[0]));
+    }
+}

+ 89 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalforestController/FireTeamController.java

@@ -0,0 +1,89 @@
+package com.sooka.sponest.mobile.data.digitalforestController;
+
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageDomain;
+import com.ruoyi.common.core.web.page.TableSupport;
+import com.sooka.sponest.data.api.digitalfire.domain.BasicLinkageForce;
+import com.sooka.sponest.data.api.digitalforest.domain.Fireteam;
+import com.sooka.sponest.data.api.digitalforest.service.RemoteFireteamService;
+import com.sooka.sponest.mobile.system.camera.service.AppCameraService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("AppFireteamController")
+public class FireTeamController {
+    @Resource
+    RemoteFireteamService remoteFireteamService;
+    @Resource
+    AppCameraService appCameraService;
+
+    /**
+     * 获取森林防火队
+     *
+     * @param fireteam
+     * @return
+     */
+    @GetMapping("/fireteam/list")
+    public AjaxResult fireteamList(Fireteam fireteam) {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String name = fireteam.getName();
+        return AjaxResult.success(remoteFireteamService.fireteamList(pageNum, pageSize, name).getRows());
+    }
+
+    /**
+     * 获取森林防火队详情
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/fireteam/edit")
+    public AjaxResult fireteamEdit(String id) {
+        AjaxResult ajaxResult = remoteFireteamService.fireteamEdit(id);
+        if("200".equals(ajaxResult.get("code").toString())){
+            Map<String, Object> info = (Map<String, Object>) ajaxResult.get("data");
+            return appCameraService.selectCameraByIds(info);
+        }else{
+            return ajaxResult;
+        }
+    }
+
+    /**
+     * 新增森林防火队
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/fireteam")
+    public AjaxResult fireteam(@RequestBody String json) {
+        return remoteFireteamService.addFireteam(json);
+    }
+
+    /**
+     * 修改森林防火队
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/fireteam/put")
+    public AjaxResult putFireteam(@RequestBody String json) {
+        return remoteFireteamService.putFireteam(json);
+    }
+
+    /**
+     * 删除森林防火队
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/fireteam/del")
+    public AjaxResult delFireteam(@RequestParam("id") List<String> id) {
+        return remoteFireteamService.delFireteam(id.toArray(new String[0]));
+    }
+}

+ 0 - 0
src/main/java/com/sooka/sponest/mobile/data/digitalforestController/ForestResourcesController.java


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