523096025 4 yıl önce
ebeveyn
işleme
ff1a0c4290
100 değiştirilmiş dosya ile 5972 ekleme ve 0 silme
  1. 177 0
      shiwan/admin/pom.xml
  2. 21 0
      shiwan/admin/src/main/java/com/huimv/admin/AdminApplication.java
  3. 13 0
      shiwan/admin/src/main/java/com/huimv/admin/EntityBase.java
  4. 72 0
      shiwan/admin/src/main/java/com/huimv/admin/config/DataSourcesConfig.java
  5. 77 0
      shiwan/admin/src/main/java/com/huimv/admin/config/PrimaryConfig.java
  6. 69 0
      shiwan/admin/src/main/java/com/huimv/admin/config/SecondaryConfig.java
  7. 50 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/primary/AccountController.java
  8. 87 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/primary/AuthorizeController.java
  9. 92 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/primary/LoginController.java
  10. 42 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/primary/MenuController.java
  11. 78 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/primary/ProductionDataController.java
  12. 48 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/primary/SysGroupController.java
  13. 55 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/primary/SysUserController.java
  14. 166 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/DaLqdaController.java
  15. 38 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/DaZsdaController.java
  16. 40 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/DpSjlrSyController.java
  17. 87 0
      shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/MachineControlController.java
  18. 25 0
      shiwan/admin/src/main/java/com/huimv/admin/converter/JpaJsonConverter.java
  19. 21 0
      shiwan/admin/src/main/java/com/huimv/admin/converter/KeyValueStringConverter.java
  20. 25 0
      shiwan/admin/src/main/java/com/huimv/admin/converter/ListObjectConverter.java
  21. 81 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/MemberAccount.java
  22. 191 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/MemberInfo.java
  23. 96 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/OrganizeInfo.java
  24. 30 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/ProductionData.java
  25. 92 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysAccountEntity.java
  26. 26 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysAccountGroupEntity.java
  27. 26 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysGroupEntity.java
  28. 26 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysGroupMenuEntity.java
  29. 103 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysMenuEntity.java
  30. 44 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysUserEntity.java
  31. 141 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DaJqda.java
  32. 94 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DaLqda.java
  33. 78 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DaZsda.java
  34. 39 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DpSjlrSy.java
  35. 240 0
      shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/MachineControlEntity.java
  36. 195 0
      shiwan/admin/src/main/java/com/huimv/admin/dto/MachineControlDTO.java
  37. 38 0
      shiwan/admin/src/main/java/com/huimv/admin/exception/PlatformException.java
  38. 38 0
      shiwan/admin/src/main/java/com/huimv/admin/exception/RobotException.java
  39. 19 0
      shiwan/admin/src/main/java/com/huimv/admin/exception/constant/ExceptionConstant.java
  40. 28 0
      shiwan/admin/src/main/java/com/huimv/admin/group/UserAndAccountGroup.java
  41. 28 0
      shiwan/admin/src/main/java/com/huimv/admin/logger/ExceptionUtil.java
  42. 96 0
      shiwan/admin/src/main/java/com/huimv/admin/logger/dynamic/AppenderInstance.java
  43. 27 0
      shiwan/admin/src/main/java/com/huimv/admin/logger/dynamic/LevelController.java
  44. 8 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/MemberAccountRepository.java
  45. 7 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/ProductionDataEntityRepository.java
  46. 28 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysAccountEntityRepository.java
  47. 35 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysAccountGroupEntityRepository.java
  48. 15 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysGroupEntityRepository.java
  49. 31 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysGroupMenuEntityRepository.java
  50. 21 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysMenuEntityRepository.java
  51. 37 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysUserEntityRepository.java
  52. 16 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DaJqdaRepo.java
  53. 38 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DaLqdaRepository.java
  54. 26 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DaZsdaRepository.java
  55. 18 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DpSjlrSyRepo.java
  56. 64 0
      shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/MachineControlRepository.java
  57. 32 0
      shiwan/admin/src/main/java/com/huimv/admin/response/ErrorResponse.java
  58. 24 0
      shiwan/admin/src/main/java/com/huimv/admin/response/OkResponse.java
  59. 9 0
      shiwan/admin/src/main/java/com/huimv/admin/response/PlatformResponse.java
  60. 68 0
      shiwan/admin/src/main/java/com/huimv/admin/response/ResponseData.java
  61. 46 0
      shiwan/admin/src/main/java/com/huimv/admin/response/RobotResponse.java
  62. 19 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/IAccountService.java
  63. 33 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/IAuthorizeService.java
  64. 17 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/IGroupService.java
  65. 10 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/ILoginService.java
  66. 25 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/IMenuService.java
  67. 23 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/IProductionDataService.java
  68. 26 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/IUserService.java
  69. 98 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/AccountServiceImpl.java
  70. 262 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/AuthorizeServiceImpl.java
  71. 80 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/GroupServiceImpl.java
  72. 46 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/LoginServiceImpl.java
  73. 113 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/MenuServiceImpl.java
  74. 45 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/ProductionDataServiceImpl.java
  75. 289 0
      shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/UserServiceImpl.java
  76. 23 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/DaLqdaService.java
  77. 23 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/DaZsdaService.java
  78. 14 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/IDpSjlrSyService.java
  79. 53 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/MachineControlService.java
  80. 123 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/DaLqdaServiceImpl.java
  81. 180 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/DaZsdaServiceImpl.java
  82. 37 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/IDpSjlrSyServiceImpl.java
  83. 99 0
      shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/MachineControlServiceImpl.java
  84. 77 0
      shiwan/admin/src/main/java/com/huimv/admin/session/AccessToken.java
  85. 52 0
      shiwan/admin/src/main/java/com/huimv/admin/session/HmSession.java
  86. 64 0
      shiwan/admin/src/main/java/com/huimv/admin/session/PlatformHttpSessionIdResolver.java
  87. 58 0
      shiwan/admin/src/main/java/com/huimv/admin/session/PlatformWebSessionIdResolver.java
  88. 37 0
      shiwan/admin/src/main/java/com/huimv/admin/session/SessionBase.java
  89. 31 0
      shiwan/admin/src/main/java/com/huimv/admin/session/SessionHolder.java
  90. 9 0
      shiwan/admin/src/main/java/com/huimv/admin/session/config/ApiToken.java
  91. 29 0
      shiwan/admin/src/main/java/com/huimv/admin/session/config/AppTokenConfiguration.java
  92. 80 0
      shiwan/admin/src/main/java/com/huimv/admin/session/config/WebApiInterceptor.java
  93. 65 0
      shiwan/admin/src/main/java/com/huimv/admin/session/reuqest/ParameterRequestWrapper.java
  94. 30 0
      shiwan/admin/src/main/java/com/huimv/admin/task/ScheduledTask.java
  95. 100 0
      shiwan/admin/src/main/java/com/huimv/admin/utils/CheckNumber.java
  96. 27 0
      shiwan/admin/src/main/java/com/huimv/admin/utils/GetMD5Str.java
  97. 58 0
      shiwan/admin/src/main/java/com/huimv/admin/utils/HttpUtils.java
  98. 27 0
      shiwan/admin/src/main/java/com/huimv/admin/utils/IpTools.java
  99. 8 0
      shiwan/admin/src/main/java/com/huimv/admin/utils/PageResult.java
  100. 0 0
      shiwan/admin/src/main/java/com/huimv/admin/utils/PlatformException.java

+ 177 - 0
shiwan/admin/pom.xml

@@ -0,0 +1,177 @@
+<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.4.1</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+    <groupId>com.huimv</groupId>
+    <artifactId>admin</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>admin</name>
+    <description>Demo project for Spring Boot</description>
+
+    <properties>
+        <java.version>1.8</java.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>2.4.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-devtools</artifactId>
+            <scope>runtime</scope>
+            <optional>false</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>apache-log4j-extras</artifactId>
+            <version>1.1</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-api</artifactId>
+            <version>RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-openfeign-core</artifactId>
+            <version>2.1.5.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <!--redis依赖-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+        <!--        spring session 与redis应用基本环境配置,需要开启redis后才可以使用,不然启动Spring boot会报错 -->
+        <dependency>
+            <groupId>org.springframework.session</groupId>
+            <artifactId>spring-session-data-redis</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.62</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis-spring</artifactId>
+            <version>2.0.6</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis</artifactId>
+            <version>3.5.6</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.vaadin.external.google</groupId>
+            <artifactId>android-json</artifactId>
+            <version>0.0.20131108.vaadin1</version>
+            <scope>compile</scope>
+        </dependency>
+
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>1.5.7.RELEASE</version>
+                <configuration>
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.6.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.3</version>
+                <configuration>
+                    <descriptorRefs>
+                        <descriptorRef>jar-with-dependencies</descriptorRef>
+                    </descriptorRefs>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 21 - 0
shiwan/admin/src/main/java/com/huimv/admin/AdminApplication.java

@@ -0,0 +1,21 @@
+package com.huimv.admin;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+
+@FeignClient
+@SpringBootApplication
+@EnableScheduling
+//@ComponentScan({"com.huimv.core","com.huimv.huimvcore"})
+@ComponentScan(value = "com.huimv")
+public class AdminApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(AdminApplication.class, args);
+    }
+
+}

+ 13 - 0
shiwan/admin/src/main/java/com/huimv/admin/EntityBase.java

@@ -0,0 +1,13 @@
+package com.huimv.admin;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import javax.persistence.MappedSuperclass;
+
+@JsonInclude(value= JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(value= {"handler","hibernateLazyInitializer"})
+@MappedSuperclass
+public class EntityBase {
+
+}

+ 72 - 0
shiwan/admin/src/main/java/com/huimv/admin/config/DataSourcesConfig.java

@@ -0,0 +1,72 @@
+package com.huimv.admin.config;
+
+import com.zaxxer.hikari.HikariDataSource;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
+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;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.config
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/25 0025 16:56
+ **/
+@Configuration
+public class DataSourcesConfig {
+
+    @Bean
+    @Primary
+    @Qualifier("primaryDataSource")
+    @ConfigurationProperties(prefix = "spring.datasource.primary")
+    public DataSourceProperties primaryDataSourceProperties(){
+        return new DataSourceProperties();
+    }
+
+    @Bean
+    @Primary
+    @Qualifier("primaryDataSource")
+    @ConfigurationProperties(prefix = "spring.datasource.primary")
+    public DataSource primaryDataSource(@Value("${spring.datasource.primary.url}") String url,
+                                        @Value("${spring.datasource.primary.username}") String userName,
+                                        @Value("${spring.datasource.primary.password}") String pass,
+                                        @Value("${spring.datasource.primary.driver-class-name}") String className) {
+        HikariDataSource hikariDataSource = new HikariDataSource();
+        hikariDataSource.setJdbcUrl(url);
+        hikariDataSource.setDriverClassName(className);
+        hikariDataSource.setUsername(userName);
+        hikariDataSource.setPassword(pass);
+        return hikariDataSource;
+        //return primaryDataSourceProperties().initializeDataSourceBuilder().build();
+    }
+
+    @Bean
+    @Qualifier("secondaryDataSource")
+    @ConfigurationProperties(prefix = "spring.datasource.secondary")
+    public DataSourceProperties secondaryDataSourceProperties(){
+        return new DataSourceProperties();
+    }
+
+    @Bean
+    @Qualifier("secondaryDataSource")
+    @ConfigurationProperties(prefix = "spring.datasource.secondary")
+    public DataSource secondaryDataSource(@Value("${spring.datasource.secondary.url}") String url,
+                                          @Value("${spring.datasource.secondary.username}") String userName,
+                                          @Value("${spring.datasource.secondary.password}") String pass,
+                                          @Value("${spring.datasource.secondary.driver-class-name}") String className){
+        HikariDataSource hikariDataSource = new HikariDataSource();
+        hikariDataSource.setJdbcUrl(url);
+        hikariDataSource.setDriverClassName(className);
+        hikariDataSource.setUsername(userName);
+        hikariDataSource.setPassword(pass);
+        return hikariDataSource;
+        //return primaryDataSourceProperties().initializeDataSourceBuilder().build();
+    }
+
+}

+ 77 - 0
shiwan/admin/src/main/java/com/huimv/admin/config/PrimaryConfig.java

@@ -0,0 +1,77 @@
+package com.huimv.admin.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties;
+import org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
+import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.orm.jpa.JpaTransactionManager;
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import javax.persistence.EntityManager;
+import javax.sql.DataSource;
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.config
+ * @Description : 主数据源
+ * @Author : yuxuexuan
+ * @Create : 2020/12/25 0025 16:58
+ **/
+
+@Configuration
+@EnableTransactionManagement
+@EnableJpaRepositories(
+        entityManagerFactoryRef="entityManagerFactoryPrimary",
+        transactionManagerRef="transactionManagerPrimary",
+        basePackages= { "com.huimv.admin.repo.primary" }) //设置Repository所在位置
+public class PrimaryConfig {
+    @Autowired
+    @Qualifier("primaryDataSource")
+    private DataSource primaryDataSource;
+
+    @Autowired
+    private HibernateProperties hibernateProperties;
+
+    @Autowired(required=false)
+    private JpaProperties jpaProperties;
+
+    @Primary
+    @Bean(name = "entityManagerPrimary")
+    public EntityManager entityManager(EntityManagerFactoryBuilder builder) {    //org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder  导入的包
+        return entityManagerFactoryPrimary(builder).getObject().createEntityManager();
+    }
+
+    @Primary
+    @Bean(name = "entityManagerFactoryPrimary")
+    public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary (EntityManagerFactoryBuilder builder) {
+        return builder
+                .dataSource(primaryDataSource)
+                .properties(getVerdorProperties())
+                .packages("com.huimv.admin.domain.primary") //设置实体类所在位置
+                .persistenceUnit("primaryPersistenceUnit")
+                .build();
+    }
+
+
+    public Map<String, Object> getVerdorProperties(){
+        return hibernateProperties.determineHibernateProperties(
+                jpaProperties.getProperties(),new HibernateSettings());
+    }
+
+
+    @Primary
+    @Bean(name = "transactionManagerPrimary")
+    public PlatformTransactionManager transactionManagerPrimary(EntityManagerFactoryBuilder builder) {
+        return new JpaTransactionManager(entityManagerFactoryPrimary(builder).getObject());
+    }
+
+}

+ 69 - 0
shiwan/admin/src/main/java/com/huimv/admin/config/SecondaryConfig.java

@@ -0,0 +1,69 @@
+package com.huimv.admin.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties;
+import org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
+import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.orm.jpa.JpaTransactionManager;
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import javax.persistence.EntityManager;
+import javax.sql.DataSource;
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.config
+ * @Description : 次数据源
+ * @Author : yuxuexuan
+ * @Create : 2020/12/25 0025 17:02
+ **/
+@Configuration
+@EnableTransactionManagement
+@EnableJpaRepositories(
+        entityManagerFactoryRef="entityManagerFactorySecondary",
+        transactionManagerRef="transactionManagerSecondary",
+        basePackages= { "com.huimv.admin.repo.secondary" }) //设置Repository所在位置
+public class SecondaryConfig {
+    @Autowired
+    @Qualifier("secondaryDataSource")
+    private DataSource secondaryDataSource;
+
+    @Autowired(required=false)
+    private JpaProperties jpaProperties;
+
+    @Autowired
+    private HibernateProperties hibernateProperties;
+
+    @Bean(name = "entityManagerSecondary")
+    public EntityManager entityManager(EntityManagerFactoryBuilder builder) {  //org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder  导入的包
+        return entityManagerFactorySecondary(builder).getObject().createEntityManager();
+    }
+
+    @Bean(name = "entityManagerFactorySecondary")
+    public LocalContainerEntityManagerFactoryBean entityManagerFactorySecondary (EntityManagerFactoryBuilder builder) {
+        return builder
+                .dataSource(secondaryDataSource)
+                .properties(getVerdorProperties())
+                .packages("com.huimv.admin.domain.secondary") //设置实体类所在位置
+                .persistenceUnit("secondaryPersistenceUnit")
+                .build();
+    }
+
+
+    public Map<String, Object> getVerdorProperties(){
+        return hibernateProperties.determineHibernateProperties(jpaProperties.getProperties(),new HibernateSettings());
+    }
+
+    @Bean(name = "transactionManagerSecondary")
+    public PlatformTransactionManager transactionManagerSecondary(EntityManagerFactoryBuilder builder) {
+        return new JpaTransactionManager(entityManagerFactorySecondary(builder).getObject());
+    }
+}

+ 50 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/primary/AccountController.java

@@ -0,0 +1,50 @@
+package com.huimv.admin.controller.primary;
+
+;
+import com.huimv.admin.service.primary.IAccountService;
+import com.huimv.admin.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/account")
+public class AccountController {
+
+    @Autowired
+    private IAccountService iAccountService;
+
+    @RequestMapping("/new")
+    public Result newAccount(@RequestParam(name = "userId") Integer userId){
+       return iAccountService.newAccount(userId);
+    }
+
+    @RequestMapping("/cancel")
+    public Result cancelAccount(@RequestParam(name = "id") Integer id,
+                                @RequestParam(name = "accountStatus") Integer accountStatus){
+       return iAccountService.cancelAccount(id,accountStatus);
+    }
+
+    @RequestMapping("/remove")
+    public Result removeAccount(@RequestParam(name = "ids") List<Integer> ids){
+        return  iAccountService.removeAccount(ids);
+    }
+
+
+    @RequestMapping("/list")
+    public Result listAccount(){
+        return iAccountService.findAll();
+    }
+
+    @RequestMapping("/setAccountStatus")
+    public Result setAccountStatus(@RequestParam(name = "ids") List<Integer> ids, @RequestParam(name = "status") Integer status){
+        /* 设置账号状态 */
+        return iAccountService.setAccountStatus(ids,status);
+    }
+
+}

+ 87 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/primary/AuthorizeController.java

@@ -0,0 +1,87 @@
+package com.huimv.admin.controller.primary;
+
+import com.huimv.admin.domain.primary.SysMenuEntity;
+import com.huimv.admin.service.primary.IAuthorizeService;
+import com.huimv.admin.service.primary.IMenuService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@CrossOrigin
+@RestController
+@RequestMapping(value = "/auth")
+public class AuthorizeController {
+
+    @Autowired
+    IAuthorizeService iAuthorizeService;
+    @Autowired
+    IMenuService iMenuService;
+
+    @RequestMapping("/saveAccountGroup")
+    public Result saveAccountGroup(@RequestParam(name = "accountId") String accountId, @RequestParam(name = "groupIds") String groupIds){
+        /*
+         * 保存账号关联权限组数据
+         */
+        return iAuthorizeService.saveAccountGroup(accountId,groupIds);
+    }
+
+    @RequestMapping("/saveGroupMenu")
+    public Result saveGroupMenu(@RequestParam(name = "groupId", required = true) String groupId, @RequestParam(name = "menuIds", required = true) String menuIds){
+        /*
+         * 保存权限组关联菜单数据
+         */
+        return iAuthorizeService.saveGroupMenu(groupId,menuIds);
+    }
+
+    @RequestMapping("/getGroupByAccount")
+    public Result getGroupByAccount(@RequestParam(name = "accountId", required = true) String accountId){
+        /*
+         * 根据账号获取权限组
+         */
+        return iAuthorizeService.getGroupByAccount (accountId);
+    }
+
+    @RequestMapping("/getMenuByGroup")
+    public Result getMenuByGroup(@RequestParam(name = "groupId", required = true) String groupId){
+        /*
+         * 根据权限组获取菜单
+         */
+        return iAuthorizeService.getMenuByGroup(groupId);
+    }
+
+  /*  @RequestMapping("/getMyMenu")
+    public Result getMyMenu(@RequestParam(name = "accountName", required = true) String accountName){
+        System.out.println("accountName>>"+accountName);
+        *//*
+         * 获取用户的菜单数据
+         *//*
+
+        return iAuthorizeService.getMyMenu(accountName);
+    }*/
+    @RequestMapping("/getMyMenu")
+    public Result getMyMenu(@RequestParam(name = "accountName", required = true) String accountName){
+        System.out.println("accountName>>"+accountName);
+        /*
+         * 获取用户的菜单数据
+         */
+        List<SysMenuEntity> myMenu = iAuthorizeService.getMyMenuAll(accountName);
+        List<Map> list = iMenuService.optimizeListUtil(0,myMenu);
+
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @RequestMapping("/getAcountByGroup")
+    public Result getAccountByGroup(@RequestParam(name = "groupId", required = true) String groupId){
+        /*
+         * 根据权限组获取菜单
+         */
+        return iAuthorizeService.getAccountByGroup(groupId);
+    }
+}

+ 92 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/primary/LoginController.java

@@ -0,0 +1,92 @@
+package com.huimv.admin.controller.primary;
+
+import com.huimv.admin.domain.primary.SysAccountEntity;
+import com.huimv.admin.service.primary.ILoginService;
+import com.huimv.admin.session.AccessToken;
+import com.huimv.admin.session.HmSession;
+import com.huimv.admin.utils.CheckNumber;
+import com.huimv.admin.utils.IpTools;
+import com.huimv.admin.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.Date;
+
+@CrossOrigin
+@RestController
+@RequestMapping(value = "/my")
+public class LoginController {
+    @Autowired
+    ILoginService iLoginService;
+
+    private static String text;
+
+    @RequestMapping(value = "/login", method = RequestMethod.POST)
+    public AccessToken login(HttpSession session, @RequestParam(name = "accountName", required = true) String accountName, @RequestParam(name = "password", required = true) String password, HttpServletRequest req)  {
+        // 对密码加密
+//        Result result = iLoginService.login(accountName,         .getMD5Str(password));
+        // 未对密码加密
+        Result result = iLoginService.login(accountName, password);
+        if(result.getCode() != 1000){
+            AccessToken accessToken = new AccessToken();
+//            accessToken.setToken(session.getId());
+//            accessToken.setLoginIp(userIp);
+            accessToken.setCreated(new Date());
+            accessToken.setAccountName(accountName);
+            accessToken.setCode(result.getCode());
+            accessToken.setMessage(result.getMessage());
+            return accessToken;
+        }
+
+        SysAccountEntity accountEntity = (SysAccountEntity) result.getData();
+        String userIp = IpTools.getRemoteHost(req);
+        //spring-session默认使用uuid作为sessionId返回:
+        System.out.println("当前请求的sessionId为:" + session.getId());
+        HmSession hmSession = new HmSession();
+        hmSession.setAccountEntity(accountEntity);
+        session.setAttribute("hmSession", hmSession);
+
+        AccessToken accessToken = new AccessToken();
+        accessToken.setToken(session.getId());
+        accessToken.setLoginIp(userIp);
+        accessToken.setCreated(new Date());
+        accessToken.setAccountName(accountName);
+        accessToken.setCode(result.getCode());
+        return accessToken;
+    }
+
+    @RequestMapping("/logout")
+    public Result logout(@RequestParam(name = "accountName", required = true) String accountName, @RequestParam(name = "password", required = true) String password) {
+        return iLoginService.logout();
+    }
+
+    //获取验证码
+    @RequestMapping(value = "getCheckNumber", produces = {"text/html;charset=UTF-8"})
+    public void getCheckNumber(HttpServletResponse response) throws IOException {
+        //创建对象
+        CheckNumber checkNumber = new CheckNumber();
+        //获取图片对象
+        BufferedImage image = checkNumber.getImage();
+        //获得图片的文本内容
+        text = checkNumber.getText();
+        //把图片返回前端
+        ImageIO.write(image, "JPEG", response.getOutputStream());
+    }
+
+    @RequestMapping("/checkNumber")
+    public Result checkNumber(String userCaptcha){
+        //获取用户输入的校验码并进行比较
+       // String sessionCheckNumber = (String) session.getAttribute("checkNumber");
+        System.out.println(userCaptcha +":"+ text);
+        if (text.equalsIgnoreCase(userCaptcha)) {
+            return new Result(10001,"验证码正确",true);
+        }
+        return new Result(10002,"验证码错误",false);
+    }
+}

+ 42 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/primary/MenuController.java

@@ -0,0 +1,42 @@
+package com.huimv.admin.controller.primary;
+
+import com.huimv.admin.domain.primary.SysMenuEntity;
+import com.huimv.admin.service.primary.IMenuService;
+import com.huimv.admin.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/menu")
+public class MenuController {
+    @Autowired
+    private IMenuService menuService;
+
+    @RequestMapping("/add")
+    public Result addMenu(SysMenuEntity menu){
+        return menuService.addMenu(menu);
+    }
+
+
+    @RequestMapping("/edit")
+    public Result editMenu( SysMenuEntity menu){
+        return menuService.editMenu(menu);
+    }
+
+
+    @RequestMapping("/remove")
+    public Result removeMenu(@RequestParam(name = "menuId") Integer menuId){
+        return menuService.removeMenu(menuId);
+    }
+
+   /* @RequestMapping("/list")
+    public List<Map> listMenu() {
+        return menuService.listMenu();
+    }*/
+
+    @PostMapping("/list")
+    public Result optimizeList() {
+        return menuService.optimizeList();
+    }
+}

+ 78 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/primary/ProductionDataController.java

@@ -0,0 +1,78 @@
+package com.huimv.admin.controller.primary;
+
+import com.huimv.admin.domain.primary.ProductionData;
+import com.huimv.admin.service.primary.IProductionDataService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.controller
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/1/4 0004 15:01
+ **/
+@CrossOrigin
+@RestController
+@RequestMapping("/productionData")
+public class ProductionDataController {
+
+    @Autowired
+    private IProductionDataService productionDataService;
+
+
+    @RequestMapping("/add")
+    public Result addProductionData (ProductionData productionData){
+        try {
+            productionDataService.save(productionData);
+            return new Result(10000,"添加成功",true);
+        }catch (Exception e){
+            return new Result(10001,"添加失败",false);
+        }
+    }
+
+    @RequestMapping("/update")
+    public Result updateProductionData (ProductionData productionData){
+        try {
+            if (productionData.getId() == null){
+                return new Result(10001,"请选择要修改的数据",false);
+            }
+            productionDataService.update(productionData);
+            return new Result(10000,"修改成功",true);
+        }catch (Exception e){
+            return new Result(10001,"修改失败",false);
+        }
+    }
+
+
+    @RequestMapping("/delete")
+    public Result deleteProductionData (@RequestParam(required = false) List<Integer> ids){
+        try {
+            if (ids == null || ids.size() <= 0){
+                return new Result(10001,"请选择要删除的数据",false);
+            }
+            productionDataService.delete(ids);
+            return new Result(10000,"删除成功",true);
+        }catch (Exception e){
+            return new Result(10001,"删除失败",false);
+        }
+    }
+
+    @RequestMapping("/list")
+    public Result findProductionData (){
+        try {
+            List<ProductionData> productionDataList = productionDataService.findAll();
+           return new Result(ResultCode.SUCCESS,productionDataList);
+        }catch (Exception e){
+            return new Result(ResultCode.FAIL,null);
+        }
+    }
+
+}

+ 48 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/primary/SysGroupController.java

@@ -0,0 +1,48 @@
+package com.huimv.admin.controller.primary;
+
+
+import com.huimv.admin.domain.primary.SysGroupEntity;
+import com.huimv.admin.service.primary.IGroupService;
+import com.huimv.admin.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@CrossOrigin
+@RestController
+@RequestMapping("/group")
+public class SysGroupController {
+
+    @Autowired
+    private IGroupService groupService;
+
+    @RequestMapping("/add")
+    public Result addGroup (@RequestParam(name = "groupName") String groupName,
+                          @RequestParam(name = "remark") String remark){
+        return groupService.addGroup(groupName,remark);
+    }
+
+
+    @RequestMapping("/edit")
+    public Result updateGroup( @RequestParam(name = "groupId",required = false) Integer groupId,
+                             @RequestParam(name = "groupName") String groupName,
+                             @RequestParam(name = "remark") String remark ){
+        return groupService.updateGroup(groupId,groupName,remark);
+    }
+
+    @RequestMapping("/remove")
+    public Result removeGroup( @RequestParam("groupId") Integer groupId) {
+        return groupService.removeGroup(groupId);
+    }
+
+    @RequestMapping("/list")
+    public Page<SysGroupEntity> listGroup(@RequestParam(name = "pageNum") int pageNum,
+                                          @RequestParam(name = "pageSize") int pageSize,
+                                          @RequestParam(name = "searchStr", required = false) String searchStr) {
+        return groupService.listGroup(pageNum,pageSize,searchStr);
+    }
+}

+ 55 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/primary/SysUserController.java

@@ -0,0 +1,55 @@
+package com.huimv.admin.controller.primary;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.admin.domain.primary.SysUserEntity;
+import com.huimv.admin.group.UserAndAccountGroup;
+import com.huimv.admin.service.primary.IUserService;
+import com.huimv.admin.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/user")
+public class SysUserController {
+    @Autowired
+    private IUserService iUserService;
+
+    @RequestMapping("/add")
+    public Result addUser(SysUserEntity user){
+        return  iUserService.addUser(user);
+    }
+
+    @RequestMapping("/edit")
+    public Result updateUser(SysUserEntity user){
+        return iUserService.updateUser(user);
+    }
+
+    @RequestMapping("/remove")
+    public Result removeUser( @RequestParam("userIds") List<Integer> userIds) {
+
+        return iUserService.removeUser(userIds);
+    }
+
+    @RequestMapping("/list_old")
+    public List<UserAndAccountGroup> listUser_old(@RequestParam(name = "pageNum") int pageNum,
+                                                  @RequestParam(name = "pageSize") int pageSize,
+                                                  @RequestParam(name = "searchStr", required = false) String searchStr) {
+        return iUserService.yxxList(searchStr,pageNum,pageNum);
+    }
+
+    @RequestMapping("/list")
+    public JSONObject listUser(@RequestParam(name = "pageNum") int pageNum,
+                               @RequestParam(name = "pageSize") int pageSize,
+                               @RequestParam(name = "searchStr", required = false) String searchStr) {
+
+        return iUserService.findUserAccount(searchStr,pageNum,pageSize);
+    }
+
+}

+ 166 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/DaLqdaController.java

@@ -0,0 +1,166 @@
+package com.huimv.admin.controller.secondary;
+
+
+import com.huimv.admin.domain.secondary.DaLqda;
+import com.huimv.admin.domain.secondary.DaZsda;
+import com.huimv.admin.repo.secondary.DaLqdaRepository;
+import com.huimv.admin.repo.secondary.DaZsdaRepository;
+import com.huimv.admin.service.secondary.DaLqdaService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+@RestController
+@CrossOrigin
+@RequestMapping("/DaLqda")
+public class DaLqdaController {
+
+    @Autowired
+    private DaLqdaService service;
+
+    @Autowired
+    private DaZsdaRepository daZsdaRepository ;
+    @Autowired
+    private DaLqdaRepository DaLqdaRepository ;
+
+
+    @RequestMapping("/add")
+    public Result add(DaLqda childcareEntity, String tJtime) {
+        Date date = new Date();
+        //体重统计时间
+//        childcareEntity.setTztjsj(DateUtils.parseDate(tJtime, DateUtils.DATETIME_FORMAT));
+        childcareEntity.setXgsj(date);
+        System.out.println("收到数据");
+
+        return service.add(childcareEntity);
+    }
+
+
+
+    @RequestMapping("/remove")
+    public Result remove(Integer[] ids) {
+        return service.remove(ids);
+    }
+
+
+    @RequestMapping("/update")
+    public Result update(DaLqda childcareEntity) {
+        return service.update(childcareEntity);
+    }
+
+
+    @RequestMapping("/find")
+    public Result findAllById(String name, Integer pageNum, Integer pageSize) {
+        List<DaZsda> zsdaList =daZsdaRepository.findAll(name,pageNum,pageSize );  //findAlla();
+        List list02 = new ArrayList();
+        for (DaZsda daZsda : zsdaList) {
+            Map map = new HashMap();
+            List<DaLqda> allByZsid = DaLqdaRepository.findAllByZsid(daZsda.getId());
+            if (allByZsid != null && allByZsid.size()>0){
+                map.put("data", allByZsid.get(0));
+                map.put("zsmc", daZsda.getZsmc());
+                list02.add(map);
+            }
+        }
+        return new Result(ResultCode.SUCCESS,list02);
+    }
+
+
+
+   /* @RequestMapping("/findAll")  //查单个  栏期下面的所有记录数据   点开查看详细信息
+    //猪舍id
+    public Result findAll(String name, Integer pageNum, Integer pageSize) {
+            List<DaZsda> zsdaList = daZsdaRepository.findAll(name, pageNum, pageSize);  //findAlla();
+            List list02 = new ArrayList();
+            for (DaZsda daZsda : zsdaList) {
+                Map map = new HashMap();
+                List<DaLqda> allByZsid = DaLqdaRepository.findAllByZsid(daZsda.getId());
+                if (allByZsid != null && allByZsid.size() > 0) {
+                    map.put("data", allByZsid.get(0));
+                    map.put("zsmc", daZsda.getZsmc());
+
+                    list02.add(map);
+                }
+            }
+            int totalsize = list02.size();
+            int totalpage = totalsize / pageSize;
+            List<Object> list01 = pageBySubList(list02, pageSize, pageNum);
+            //总条数
+            Map<String, Object> map = new HashMap<>();
+            map.put("totalSize", totalsize);
+            map.put("totalPage", totalpage);
+            List<Object> list = new LinkedList<>();
+            list.add(list01);
+            list.add(map);
+            // 总页数
+            return new Result(ResultCode.SUCCESS, list);
+        }*/
+
+    @RequestMapping("/findAll")  //查单个  栏期下面的所有记录数据   点开查看详细信息
+    //猪舍id
+    public Result findAll(String name, Integer pageNum, Integer pageSize) {
+        List<DaZsda> listZsda = daZsdaRepository.findAlla();
+        List<Integer> zsdaId = new ArrayList();
+        for (DaZsda daZsda : listZsda) {
+            zsdaId.add(daZsda.getId());
+        }
+        Integer startPage = (pageNum-1) * pageSize;
+
+        List<Map<String,Object>> allByZsids = DaLqdaRepository.findAllByZsids(zsdaId, name, startPage, pageSize);
+        Integer size = DaLqdaRepository.findAllByZsidAll(zsdaId,name);
+        Map map = new HashMap();
+        map.put("total",size);
+        map.put("data",getSelectLow(allByZsids));
+
+        return  new Result(ResultCode.SUCCESS,map);
+    }
+
+
+    public  List<Map<String, Object>> getSelectLow(List<Map<String, Object>> list){
+        List<Map<String, Object>> select = new ArrayList<>();
+
+        for (Map<String, Object> stringObjectMap : list) {
+            Map map =new HashMap();
+            for (String s : stringObjectMap.keySet()) {
+                map.put(s.toLowerCase(),stringObjectMap.get(s));
+            }
+            select.add(map);
+        }
+
+        return select;
+    }
+
+
+    //list 分页工具
+    public static List<Object> pageBySubList(List list, int pagesize,  int currentPage) {
+        int totalcount = list.size();
+        int pagecount = 0;
+        List<Object> subList;
+        int m = totalcount % pagesize;
+        if (m > 0) {
+            pagecount = totalcount / pagesize + 1;
+        } else {
+            pagecount = totalcount / pagesize;
+        }
+        if (m == 0) {
+            subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
+        } else {
+            if (currentPage == pagecount) {
+                subList = list.subList((currentPage - 1) * pagesize, totalcount);
+            } else {
+                subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
+            }
+        }
+        return subList;
+    }
+}
+
+
+
+
+

+ 38 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/DaZsdaController.java

@@ -0,0 +1,38 @@
+package com.huimv.admin.controller.secondary;
+
+import com.huimv.admin.domain.secondary.DaZsda;
+import com.huimv.admin.service.secondary.DaZsdaService;
+import com.huimv.admin.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@CrossOrigin
+@RequestMapping("/DaZsda")
+public class DaZsdaController {
+
+	@Autowired
+	private DaZsdaService service;
+
+	@RequestMapping("/add")
+	public Result add(DaZsda childcareEntity){ return service.add(childcareEntity); }
+
+	@RequestMapping("/remove")
+	public Result remove(Integer[] ids){ return service.remove(ids); }
+
+	@RequestMapping("/update")
+	public Result update(DaZsda childcareEntity){ return service.update(childcareEntity); }
+
+	@RequestMapping("/findAllById")
+	public Result findAllById(Integer id){ return service.findAllById(id); }
+
+
+	@RequestMapping("/findAll")
+	public Result findAll(String name , @RequestParam(required = false) Integer pageNum ,  @RequestParam(required = false)Integer pageSize){
+		return service.findAll(name,pageNum,pageSize);
+	}
+
+}

+ 40 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/DpSjlrSyController.java

@@ -0,0 +1,40 @@
+package com.huimv.admin.controller.secondary;
+
+import com.huimv.admin.service.secondary.IDpSjlrSyService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.controller.secondary
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/1/12 0012 11:19
+ **/
+@CrossOrigin
+@RestController
+@RequestMapping("/dpSjlrSyS")
+public class DpSjlrSyController {
+
+    @Autowired
+    private IDpSjlrSyService dpSjlrSyService;
+
+    @RequestMapping("/find")
+    public Result find(){
+        try {
+            Map map = dpSjlrSyService.find();
+            return new Result(ResultCode.SUCCESS,map);
+        }catch (Exception e){
+            return new Result(ResultCode.FAIL,null);
+        }
+
+    }
+
+}

+ 87 - 0
shiwan/admin/src/main/java/com/huimv/admin/controller/secondary/MachineControlController.java

@@ -0,0 +1,87 @@
+package com.huimv.admin.controller.secondary;
+
+import com.huimv.admin.dto.MachineControlDTO;
+import com.huimv.admin.service.secondary.MachineControlService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author yinhao
+ * @Date 2021/4/1 17:40
+ * @Description 料控管理Controller
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/machineControl")
+public class MachineControlController {
+
+    @Autowired
+    private MachineControlService machineControlService;
+
+    /**
+     * 保存料机信息
+     * @param machineControlDTO
+     * @return
+     */
+    @RequestMapping("/save")
+    public Result save(MachineControlDTO machineControlDTO) {
+        machineControlService.save(machineControlDTO);
+        return new Result(10000,"保存料机信息成功",true);
+    }
+
+    /**
+     * 分页条件查询料机信息
+     * @param pageNum
+     * @param pageSize
+     * @param keyword
+     * @return
+     */
+    @RequestMapping("/list")
+    public Result list(Integer pageNum,Integer pageSize,String keyword){
+        Map<String,Object> map = machineControlService.list(pageNum,pageSize,keyword);
+        return new Result(ResultCode.SUCCESS,map);
+    }
+
+    /**
+     * 根据id删除料机信息
+     * @param id
+     * @return
+     */
+    @RequestMapping("/deleteById")
+    public Result delete(@RequestParam(name = "id") Integer id){
+        machineControlService.deleteById(id);
+        return new Result(10000,"删除料机信息成功",true);
+    }
+
+    /**
+     * 新增时选择猪舍的下拉框
+     * @return
+     */
+    @RequestMapping("/selectBox")
+    public Result selectBox4add(){
+        List<Map<String,Object>> zsList = machineControlService.selectBox4add();
+        return new Result(ResultCode.SUCCESS,zsList);
+    }
+
+
+
+//    @RequestMapping("/changeMachineStartTime")
+//    public Result changeMachineStartTime() {
+//        return null;
+//    }
+
+    //    /**
+//     * 根据机器id查询料机信息
+//     * @param zsId
+//     * @return
+//     */
+//    @RequestMapping("/listByZsId")
+//    public Result listByZsId(@RequestParam(name = "zsId") Integer zsId){
+//       return machineControlService.listByZsId(zsId);
+//    }
+}

+ 25 - 0
shiwan/admin/src/main/java/com/huimv/admin/converter/JpaJsonConverter.java

@@ -0,0 +1,25 @@
+package com.huimv.admin.converter;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import javax.persistence.AttributeConverter;
+
+public abstract class JpaJsonConverter<T> implements AttributeConverter<T, String> {
+
+	
+	protected final static ObjectMapper objectMapper = new ObjectMapper();
+
+	@Override
+	public String convertToDatabaseColumn(T meta) {
+		try {
+			if(meta == null) return null;
+			return objectMapper.writeValueAsString(meta);
+		} catch (JsonProcessingException ex) {
+			ex.printStackTrace();
+			return null;
+			// or throw an error
+		}
+	}
+
+}

+ 21 - 0
shiwan/admin/src/main/java/com/huimv/admin/converter/KeyValueStringConverter.java

@@ -0,0 +1,21 @@
+package com.huimv.admin.converter;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+
+import java.io.IOException;
+import java.util.Map;
+
+public class KeyValueStringConverter extends JpaJsonConverter<Map<String, Object>> {
+
+	@Override
+	public Map<String, Object> convertToEntityAttribute(String dbData) {
+		try {
+			if(dbData==null) return null;
+			return objectMapper.readValue(dbData,new TypeReference<Map<String, Object>>(){});
+		} catch (IOException ex) {
+			ex.printStackTrace();
+			return null;
+		}
+	}
+
+}

+ 25 - 0
shiwan/admin/src/main/java/com/huimv/admin/converter/ListObjectConverter.java

@@ -0,0 +1,25 @@
+package com.huimv.admin.converter;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @author yejijie
+ * @created 2020年8月24日 下午2:20:02
+*/
+public class ListObjectConverter extends JpaJsonConverter<List<Object>> {
+
+	@Override
+	public List<Object> convertToEntityAttribute(String dbData) {
+		try {
+			if(dbData==null) return null;
+			return objectMapper.readValue(dbData,new TypeReference<List<Object>>(){});
+		} catch (IOException ex) {
+			ex.printStackTrace();
+			return null;
+		}
+	}
+
+}

+ 81 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/MemberAccount.java

@@ -0,0 +1,81 @@
+package com.huimv.admin.domain.primary;
+
+import java.io.Serializable;
+import java.util.Date;
+
+//import javax.persistence.Column;
+//import javax.persistence.Entity;
+//import javax.persistence.Index;
+//import javax.persistence.PrimaryKeyJoinColumn;
+//import javax.persistence.Table;
+import javax.persistence.*;
+
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+@Entity
+@Table(indexes = {@Index(columnList = "loginName")})
+@PrimaryKeyJoinColumn
+@DynamicInsert(true)
+@DynamicUpdate(true)
+public class MemberAccount extends MemberInfo implements Serializable {
+
+	//序列化
+	private static final long serialVersionUID = 6918188566018907803L;
+
+	/**
+	 * login如果限定成 email ,还需要验证下
+	 */
+	private String loginName;
+	private String loginPwd;
+	private Boolean isVerified;
+
+    @Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
+    private Date updated;
+
+    @Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP", updatable = false)
+    private Date created;
+
+	public String getLoginName() {
+		return loginName;
+	}
+
+	public void setLoginName(String loginName) {
+		this.loginName = loginName;
+	}
+
+	public String getLoginPwd() {
+		return loginPwd;
+	}
+
+	public void setLoginPwd(String loginPwd) {
+		this.loginPwd = loginPwd;
+	}
+
+	public Boolean getIsVerified() {
+		return isVerified;
+	}
+
+	public void setIsVerified(Boolean isVerified) {
+		this.isVerified = isVerified;
+	}
+
+	@Override
+	public Date getUpdated() {
+		return updated;
+	}
+
+	public void setUpdated(Date updated) {
+		this.updated = updated;
+	}
+
+	public Date getCreated() {
+		return created;
+	}
+
+	public void setCreated(Date created) {
+		this.created = created;
+	}
+    
+	
+}

+ 191 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/MemberInfo.java

@@ -0,0 +1,191 @@
+package com.huimv.admin.domain.primary;
+
+import com.huimv.admin.EntityBase;
+import com.huimv.admin.converter.KeyValueStringConverter;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * Member信息表
+ * @author guojian
+ */
+@Entity(name="member_info")
+@Inheritance(strategy = InheritanceType.JOINED)
+@DynamicInsert(true)
+@DynamicUpdate(true)
+public class MemberInfo extends EntityBase implements Serializable {
+
+	//序列化
+	private static final long serialVersionUID = 4728322620872694328L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
+    //默认 0-man 1-woman
+	@Column(name = "gender")
+    private Integer gender = 0;
+
+	@Column(name = "nickname")
+    private String nickname;
+
+	@Column(name = "avatar_url")
+	private String avatarUrl;
+
+	@Column(name = "remark")
+	private String remark;
+
+	@Column(name = "address")
+	private String address;
+
+	@Column(name = "job")
+	private String job;
+
+	@Column(name = "user_id")
+	private Long userId;
+
+	@Column(name = "mobile")
+	private String mobile;
+	
+	@Column(columnDefinition="TEXT")
+	@Convert(converter = KeyValueStringConverter.class)
+	private Map<String, Object> data;
+
+	@Column(name = "enabled")
+	private Boolean enabled;
+
+    @Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
+    private Date updated;
+
+    @Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP", updatable = false)
+    private Date created;
+
+	public String getMobile() {
+		return mobile;
+	}
+
+	public void setMobile(String mobile) {
+		this.mobile = mobile;
+	}
+
+	public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getGender() {
+		return gender;
+	}
+
+	public void setGender(Integer gender) {
+		this.gender = gender;
+	}
+
+	public String getNickname() {
+		return nickname;
+	}
+
+	public void setNickname(String nickname) {
+		this.nickname = nickname;
+	}
+
+	public String getAvatarUrl() {
+		return avatarUrl;
+	}
+
+	public void setAvatarUrl(String avatarUrl) {
+		this.avatarUrl = avatarUrl;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Map<String, Object> getData() {
+		return data;
+	}
+
+	public void setData(Map<String, Object> data) {
+		this.data = data;
+	}
+
+	public Boolean getEnabled() {
+		return enabled;
+	}
+
+	public void setEnabled(Boolean enabled) {
+		this.enabled = enabled;
+	}
+
+	public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    public Date getUpdated() {
+        return updated;
+    }
+
+    public void setUpdated(Date updated) {
+        this.updated = updated;
+    }
+
+	public String getAddress() {
+		return address;
+	}
+
+	public void setAddress(String address) {
+		this.address = address;
+	}
+
+	public String getJob() {
+		return job;
+	}
+
+	public void setJob(String job) {
+		this.job = job;
+	}
+
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
+
+	@Override
+	public String toString() {
+		return "MemberInfo{" +
+				"id=" + id +
+				", gender=" + gender +
+				", nickname='" + nickname + '\'' +
+				", avatarUrl='" + avatarUrl + '\'' +
+				", remark='" + remark + '\'' +
+				", address='" + address + '\'' +
+				", job='" + job + '\'' +
+				", userId=" + userId +
+				", mobile='" + mobile + '\'' +
+				", data=" + data +
+				", enabled=" + enabled +
+				", updated=" + updated +
+				", created=" + created +
+				'}';
+	}
+}

+ 96 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/OrganizeInfo.java

@@ -0,0 +1,96 @@
+package com.huimv.admin.domain.primary;
+
+import com.huimv.admin.EntityBase;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * 组织信息表
+ * @author guojian
+ */
+@Entity(name="organize_info")
+@DynamicInsert(true)
+@DynamicUpdate(true)
+public class OrganizeInfo extends EntityBase {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
+    private String orgName;
+
+    //法人
+    private String legalPersons;
+
+    //企业编号(工商号)
+    private String orgCode;
+
+    @Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
+    private Date updated;
+
+    @Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP", updatable = false)
+    private Date created;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getOrgName() {
+        return orgName;
+    }
+
+    public void setOrgName(String orgName) {
+        this.orgName = orgName;
+    }
+
+    public String getLegalPersons() {
+        return legalPersons;
+    }
+
+    public void setLegalPersons(String legalPersons) {
+        this.legalPersons = legalPersons;
+    }
+
+    public String getOrgCode() {
+        return orgCode;
+    }
+
+    public void setOrgCode(String orgCode) {
+        this.orgCode = orgCode;
+    }
+
+    public Date getUpdated() {
+        return updated;
+    }
+
+    public void setUpdated(Date updated) {
+        this.updated = updated;
+    }
+
+    public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    @Override
+    public String toString() {
+        return "OrganizeInfo{" +
+                "id=" + id +
+                ", orgName='" + orgName + '\'' +
+                ", legalPersons='" + legalPersons + '\'' +
+                ", orgCode='" + orgCode + '\'' +
+                ", updated=" + updated +
+                ", created=" + created +
+                '}';
+    }
+}

+ 30 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/ProductionData.java

@@ -0,0 +1,30 @@
+package com.huimv.admin.domain.primary;
+
+import lombok.Data;
+
+import javax.persistence.*;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.domain.primary
+ * @Description : 首页生产数据
+ * @Author : yuxuexuan
+ * @Create : 2021/1/4 0004 14:44
+ **/
+
+@Entity
+@Table(name = "production_data")
+@Data
+public class ProductionData {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "name")
+    private String name;
+
+    @Column(name = "pig_num")
+    private String pigNum;
+}

+ 92 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysAccountEntity.java

@@ -0,0 +1,92 @@
+package com.huimv.admin.domain.primary;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "sys_account")
+public class SysAccountEntity implements Serializable {
+
+    private static final long serialVersionUID = 6073065542016688601L;
+
+    @Override
+    public String toString() {
+        return "SysAccountEntity{" +
+                "id=" + id +
+                ", accountName='" + accountName + '\'' +
+                ", password='" + password + '\'' +
+                ", accountStatus=" + accountStatus +
+                ", remark='" + remark + '\'' +
+                ", userId=" + userId +
+                '}';
+    }
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "account_name")
+    private String accountName;
+
+    @Column(name = "password")
+    private String password;
+
+    @Column(name = "account_status")
+    private Integer accountStatus;
+
+    @Column(name = "remark")
+    private String remark;
+
+    @Column(name = "user_id")
+    private Long userId;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    public String getAccountName() {
+        return accountName;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setAccountStatus(Integer accountStatus) {
+        this.accountStatus = accountStatus;
+    }
+
+    public Integer getAccountStatus() {
+        return accountStatus;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+}

+ 26 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysAccountGroupEntity.java

@@ -0,0 +1,26 @@
+package com.huimv.admin.domain.primary;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "sys_account_group")
+@Data
+public class SysAccountGroupEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "account_id")
+    private Integer accountId;
+
+    @Column(name = "group_id")
+    private Integer groupId;
+
+}

+ 26 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysGroupEntity.java

@@ -0,0 +1,26 @@
+package com.huimv.admin.domain.primary;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "sys_group")
+@Data
+public class SysGroupEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "group_name")
+    private String groupName;
+
+    @Column(name = "remark")
+    private String remark;
+
+}

+ 26 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysGroupMenuEntity.java

@@ -0,0 +1,26 @@
+package com.huimv.admin.domain.primary;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Data
+@Table(name = "sys_group_menu")
+public class SysGroupMenuEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "group_id")
+    private Integer groupId;
+
+    @Column(name = "menu_id")
+    private Integer menuId;
+
+}

+ 103 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysMenuEntity.java

@@ -0,0 +1,103 @@
+package com.huimv.admin.domain.primary;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.List;
+
+@Entity
+@Table(name = "sys_menu")
+public class SysMenuEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "menu_name")
+    private String menuName;
+
+    @Column(name = "url")
+    private String url;
+
+    @Column(name = "remark")
+    private String remark;
+
+    @Column(name = "parent_id", nullable = false)
+    private Integer parentId;
+
+    @Column(name = "sort")
+    private Integer sort;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setMenuName(String menuName) {
+        this.menuName = menuName;
+    }
+
+    public String getMenuName() {
+        return menuName;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    @Transient
+    private List<SysMenuEntity> children;
+
+    public List<SysMenuEntity> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<SysMenuEntity> children) {
+        this.children = children;
+    }
+
+    @Override
+    public String toString() {
+        return "SysMenuEntity{" +
+                "id=" + id + '\'' +
+                "menuName=" + menuName + '\'' +
+                "url=" + url + '\'' +
+                "remark=" + remark + '\'' +
+                "parentId=" + parentId + '\'' +
+                "sort=" + sort + '\'' +
+                '}';
+    }
+}

+ 44 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/primary/SysUserEntity.java

@@ -0,0 +1,44 @@
+package com.huimv.admin.domain.primary;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Data
+@Table(name = "sys_user")
+public class SysUserEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "user_name")
+    private String userName;
+
+    @Column(name = "male")
+    private Integer male;
+
+    @Column(name = "birthday")
+    private String birthday;
+
+    @Column(name = "mobile")
+    private String mobile;
+
+    @Column(name = "address")
+    private String address;
+
+    @Column(name = "job")
+    private String job;
+
+    @Column(name = "remark")
+    private String remark;
+
+    @Column(name = "user_id")
+    private Long userId;
+
+
+}

+ 141 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DaJqda.java

@@ -0,0 +1,141 @@
+package com.huimv.admin.domain.secondary;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 档案_机器档案
+ */
+@Entity
+@Table(name = "da_jqda")
+@Data
+public class DaJqda implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "ID", nullable = false)
+    private Integer ID;
+
+    /**
+     * 机器ID
+     */
+    @Column(name = "JQID")
+    private String JQID;
+
+    /**
+     * 猪舍ID
+     */
+    @Column(name = "ZSID")
+    private Integer ZSID;
+
+    /**
+     * 区划编码
+     */
+    @Column(name = "QHBM")
+    private String QHBM;
+
+    /**
+     * 目标版本
+     */
+    @Column(name = "MBBB")
+    private String MBBB;
+
+    /**
+     * ftp命令
+     */
+    @Column(name = "FTPCMD")
+    private String FTPCMD;
+
+    /**
+     * 修改人
+     */
+    @Column(name = "XGR")
+    private String XGR;
+
+    /**
+     * 修改时间
+     */
+    @Column(name = "XGSJ", nullable = false)
+    private Date XGSJ;
+
+    /**
+     * 作废标志
+     */
+    @Column(name = "ZFBZ")
+    private Integer ZFBZ;
+
+    /**
+     * 当前版本
+     */
+    @Column(name = "DQBB")
+    private String DQBB;
+
+    /**
+     * 环控当前版本
+     */
+    @Column(name = "HKDQBB")
+    private String HKDQBB;
+
+    /**
+     * 环控目标版本
+     */
+    @Column(name = "HKMBBB")
+    private String HKMBBB;
+
+    /**
+     * 环控CMD命令
+     */
+    @Column(name = "HKFTPCMD")
+    private String HKFTPCMD;
+
+    /**
+     * 料槽当前版本
+     */
+    @Column(name = "LCDQBB")
+    private String LCDQBB;
+
+    /**
+     * 料槽目标版本
+     */
+    @Column(name = "LCMBBB")
+    private String LCMBBB;
+
+    /**
+     * 料槽CMD命令
+     */
+    @Column(name = "LCFTPCMD")
+    private String LCFTPCMD;
+
+    /**
+     * 序列号
+     */
+    @Column(name = "XLH")
+    private String XLH;
+
+    /**
+     * 站点号
+     */
+    @Column(name = "ZDH")
+    private String ZDH;
+
+    @Column(name = "IMEI")
+    private String IMEI;
+
+    @Column(name = "IMSI")
+    private String IMSI;
+
+    @Column(name = "CCID")
+    private String CCID;
+
+    @Column(name = "ESIMNAME")
+    private String ESIMNAME;
+
+}

+ 94 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DaLqda.java

@@ -0,0 +1,94 @@
+package com.huimv.admin.domain.secondary;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+import javax.persistence.*;
+
+@Data
+@Entity
+@Table(name = "da_lqda")
+public class DaLqda implements Serializable {
+
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "ID")
+	private Integer id;
+
+	@Column(name = "ZSID")
+	private Integer zsid;
+
+	@Column(name = "LQMC")
+	private String lqmc;
+
+	@Column(name = "JLSJ")
+	private java.sql.Date jlsj;
+
+	@Column(name = "JHLJSSJ")
+	private java.sql.Date jhljssj;
+
+	@Column(name = "SJLJSSJ")
+	private java.sql.Date sjljssj;
+
+	@Column(name = "RLPJTZ")
+	private Double rlpjtz;
+
+	@Column(name = "ZLS")
+	private Double zls;
+
+	@Column(name = "RLS")
+	private Double rls;
+
+	@Column(name = "SWS")
+	private Double sws;
+
+	@Column(name = "SCS")
+	private Double scs;
+
+	@Column(name = "GLS")
+	private Double gls;
+
+	@Column(name = "EBDSS")
+	private Double ebdss;
+
+	@Column(name = "GLY")
+	private String gly;
+
+	@Column(name = "TXKSRQ")
+	private java.sql.Date txksrq;
+
+	@Column(name = "TXKSBZ")
+	private Double txksbz;
+
+	@Column(name = "TJKSRQ")
+	private java.sql.Date tjksrq;
+
+	@Column(name = "CSYLSLL")
+	private Double csylsll;
+
+	@Column(name = "JSSYSLL")
+	private Double jssysll;
+
+	@Column(name = "XGR")
+	private String xgr;
+
+	@Column(name = "XGSJ")
+	private java.util.Date xgsj;
+
+	@Column(name = "ZFBZ")
+	private Integer zfbz;
+
+	@Column(name = "CLS")
+	private Double cls;
+
+	@Column(name = "TTS")
+	private Double tts;
+
+	@Column(name = "TZTJSJ")
+	private java.util.Date tztjsj;
+
+	@Column(name = "RLRL")
+	private String rlrl;
+
+}

+ 78 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DaZsda.java

@@ -0,0 +1,78 @@
+package com.huimv.admin.domain.secondary;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@Entity
+@Table(name = "da_zsda")
+public class DaZsda implements Serializable {
+
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "ID")
+	private Integer id;
+
+	@Column(name = "MCID")
+	private Integer mcid;
+
+	@Column(name = "ZSMC")
+	private String zsmc;
+
+	@Column(name = "CSQ1")
+	private String csq1;
+
+	@Column(name = "CSQ2")
+	private String csq2;
+
+	@Column(name = "FLQ")
+	private String flq;
+
+	@Column(name = "DQLQ")
+	private String dqlq;
+
+	@Column(name = "YZJD")
+	private String yzjd;
+
+	@Column(name = "GLY")
+	private Integer gly;
+
+	@Column(name = "GLYXM")
+	private String glyxm;
+
+	@Column(name = "XGR")
+	private String xgr;
+
+	@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
+	@Column(name = "XGSJ")
+	private Date xgsj;
+
+	@Column(name = "ZFBZ")
+	private Integer zfbz;
+
+	@Column(name = "ZSBZ")
+	private Integer zsbz;
+
+	@Column(name = "SSQY")
+	private Integer ssqy;
+
+	@Column(name = "LCBZ")
+	private Integer lcbz;
+
+	@Column(name = "HKBZ")
+	private Integer hkbz;
+
+	@Column(name = "ZDBZ")
+	private Integer zdbz;
+
+	@Column(name = "ZSQY")
+	private Integer zsqy;
+
+	@Column(name = "SPJK")
+	private String spjk;
+
+}

+ 39 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/DpSjlrSy.java

@@ -0,0 +1,39 @@
+package com.huimv.admin.domain.secondary;
+
+import lombok.Data;
+
+import javax.persistence.*;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.domain.secondary
+ * @Description : 大屏信息
+ * @Author : yuxuexuan
+ * @Create : 2021/1/12 0012 11:02
+ **/
+@Entity
+@Data
+@Table(name = "dp_sjlr_sy")
+public class DpSjlrSy {
+
+    @Id
+    @Column(name = "ID", nullable = false)
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer ID;
+
+    @Column(name = "MCID")
+    private Integer MCID;
+
+    //存栏种猪
+    @Column(name = "CLSJZZ")
+    private String CLSJZZ;
+
+    //保育存栏
+    @Column(name = "CLSJBYZ")
+    private String CLSJBYZ;
+
+    //育肥存栏
+    @Column(name = "CLSJYFZ")
+    private String CLSJYFZ;
+
+}

+ 240 - 0
shiwan/admin/src/main/java/com/huimv/admin/domain/secondary/MachineControlEntity.java

@@ -0,0 +1,240 @@
+package com.huimv.admin.domain.secondary;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * @Author yinhao
+ * @Date 2021/4/1 18:01
+ * @Description 料控管理实体类
+ */
+
+@Entity
+@Table(name = "da_lkpz")
+public class MachineControlEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "id", nullable = false)
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
+    @Column(name = "jqid")
+    private String jqId;
+
+    @Column(name = "no1_dlstart_time1")
+    private String no1DlstartTime1;
+
+    @Column(name = "no1_dlstart_time2")
+    private String no1DlstartTime2;
+
+    @Column(name = "no1_dlstart_time3")
+    private String no1DlstartTime3;
+
+    @Column(name = "no1_dlstart_time4")
+    private String no1DlstartTime4;
+
+    @Column(name = "no2_dlstart_time1")
+    private String no2DlstartTime1;
+
+    @Column(name = "no2_dlstart_time2")
+    private String no2DlstartTime2;
+
+    @Column(name = "no2_dlstart_time3")
+    private String no2DlstartTime3;
+
+    @Column(name = "no2_dlstart_time4")
+    private String no2DlstartTime4;
+
+    @Column(name = "no3_dlstart_time1")
+    private String no3DlstartTime1;
+
+    @Column(name = "no3_dlstart_time2")
+    private String no3DlstartTime2;
+
+    @Column(name = "no3_dlstart_time3")
+    private String no3DlstartTime3;
+
+    @Column(name = "no3_dlstart_time4")
+    private String no3DlstartTime4;
+
+    @Column(name = "no4_dlstart_time1")
+    private String no4DlstartTime1;
+
+    @Column(name = "no4_dlstart_time2")
+    private String no4DlstartTime2;
+
+    @Column(name = "no4_dlstart_time3")
+    private String no4DlstartTime3;
+
+    @Column(name = "no4_dlstart_time4")
+    private String no4DlstartTime4;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getJqId() {
+        return jqId;
+    }
+
+    public void setJqId(String jqId) {
+        this.jqId = jqId;
+    }
+
+    public String getNo1DlstartTime1() {
+        return no1DlstartTime1;
+    }
+
+    public void setNo1DlstartTime1(String no1DlstartTime1) {
+        this.no1DlstartTime1 = no1DlstartTime1;
+    }
+
+    public String getNo1DlstartTime2() {
+        return no1DlstartTime2;
+    }
+
+    public void setNo1DlstartTime2(String no1DlstartTime2) {
+        this.no1DlstartTime2 = no1DlstartTime2;
+    }
+
+    public String getNo1DlstartTime3() {
+        return no1DlstartTime3;
+    }
+
+    public void setNo1DlstartTime3(String no1DlstartTime3) {
+        this.no1DlstartTime3 = no1DlstartTime3;
+    }
+
+    public String getNo1DlstartTime4() {
+        return no1DlstartTime4;
+    }
+
+    public void setNo1DlstartTime4(String no1DlstartTime4) {
+        this.no1DlstartTime4 = no1DlstartTime4;
+    }
+
+    public String getNo2DlstartTime1() {
+        return no2DlstartTime1;
+    }
+
+    public void setNo2DlstartTime1(String no2DlstartTime1) {
+        this.no2DlstartTime1 = no2DlstartTime1;
+    }
+
+    public String getNo2DlstartTime2() {
+        return no2DlstartTime2;
+    }
+
+    public void setNo2DlstartTime2(String no2DlstartTime2) {
+        this.no2DlstartTime2 = no2DlstartTime2;
+    }
+
+    public String getNo2DlstartTime3() {
+        return no2DlstartTime3;
+    }
+
+    public void setNo2DlstartTime3(String no2DlstartTime3) {
+        this.no2DlstartTime3 = no2DlstartTime3;
+    }
+
+    public String getNo2DlstartTime4() {
+        return no2DlstartTime4;
+    }
+
+    public void setNo2DlstartTime4(String no2DlstartTime4) {
+        this.no2DlstartTime4 = no2DlstartTime4;
+    }
+
+    public String getNo3DlstartTime1() {
+        return no3DlstartTime1;
+    }
+
+    public void setNo3DlstartTime1(String no3DlstartTime1) {
+        this.no3DlstartTime1 = no3DlstartTime1;
+    }
+
+    public String getNo3DlstartTime2() {
+        return no3DlstartTime2;
+    }
+
+    public void setNo3DlstartTime2(String no3DlstartTime2) {
+        this.no3DlstartTime2 = no3DlstartTime2;
+    }
+
+    public String getNo3DlstartTime3() {
+        return no3DlstartTime3;
+    }
+
+    public void setNo3DlstartTime3(String no3DlstartTime3) {
+        this.no3DlstartTime3 = no3DlstartTime3;
+    }
+
+    public String getNo3DlstartTime4() {
+        return no3DlstartTime4;
+    }
+
+    public void setNo3DlstartTime4(String no3DlstartTime4) {
+        this.no3DlstartTime4 = no3DlstartTime4;
+    }
+
+    public String getNo4DlstartTime1() {
+        return no4DlstartTime1;
+    }
+
+    public void setNo4DlstartTime1(String no4DlstartTime1) {
+        this.no4DlstartTime1 = no4DlstartTime1;
+    }
+
+    public String getNo4DlstartTime2() {
+        return no4DlstartTime2;
+    }
+
+    public void setNo4DlstartTime2(String no4DlstartTime2) {
+        this.no4DlstartTime2 = no4DlstartTime2;
+    }
+
+    public String getNo4DlstartTime3() {
+        return no4DlstartTime3;
+    }
+
+    public void setNo4DlstartTime3(String no4DlstartTime3) {
+        this.no4DlstartTime3 = no4DlstartTime3;
+    }
+
+    public String getNo4DlstartTime4() {
+        return no4DlstartTime4;
+    }
+
+    public void setNo4DlstartTime4(String no4DlstartTime4) {
+        this.no4DlstartTime4 = no4DlstartTime4;
+    }
+
+    @Override
+    public String toString() {
+        return "MachineControlEntity{" +
+                "id=" + id +
+                ", jqId='" + jqId + '\'' +
+                ", no1DlstartTime1='" + no1DlstartTime1 + '\'' +
+                ", no1DlstartTime2='" + no1DlstartTime2 + '\'' +
+                ", no1DlstartTime3='" + no1DlstartTime3 + '\'' +
+                ", no1DlstartTime4='" + no1DlstartTime4 + '\'' +
+                ", no2DlstartTime1='" + no2DlstartTime1 + '\'' +
+                ", no2DlstartTime2='" + no2DlstartTime2 + '\'' +
+                ", no2DlstartTime3='" + no2DlstartTime3 + '\'' +
+                ", no2DlstartTime4='" + no2DlstartTime4 + '\'' +
+                ", no3DlstartTime1='" + no3DlstartTime1 + '\'' +
+                ", no3DlstartTime2='" + no3DlstartTime2 + '\'' +
+                ", no3DlstartTime3='" + no3DlstartTime3 + '\'' +
+                ", no3DlstartTime4='" + no3DlstartTime4 + '\'' +
+                ", no4DlstartTime1='" + no4DlstartTime1 + '\'' +
+                ", no4DlstartTime2='" + no4DlstartTime2 + '\'' +
+                ", no4DlstartTime3='" + no4DlstartTime3 + '\'' +
+                ", no4DlstartTime4='" + no4DlstartTime4 + '\'' +
+                '}';
+    }
+}

+ 195 - 0
shiwan/admin/src/main/java/com/huimv/admin/dto/MachineControlDTO.java

@@ -0,0 +1,195 @@
+package com.huimv.admin.dto;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+/**
+ * @Author yinhao
+ * @Date 2021/4/1 19:30
+ * @Description
+ */
+public class MachineControlDTO {
+
+    private Integer id;
+
+    private String jqid;
+
+    private String no1DlstartTime1;
+
+    private String no1DlstartTime2;
+
+    private String no1DlstartTime3;
+
+    private String no1DlstartTime4;
+
+    private String no2DlstartTime1;
+
+    private String no2DlstartTime2;
+
+    private String no2DlstartTime3;
+
+    private String no2DlstartTime4;
+
+    private String no3DlstartTime1;
+
+    private String no3DlstartTime2;
+
+    private String no3DlstartTime3;
+
+    private String no3DlstartTime4;
+
+    private String no4DlstartTime1;
+
+    private String no4DlstartTime2;
+
+    private String no4DlstartTime3;
+
+    private String no4DlstartTime4;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getJqid() {
+        return jqid;
+    }
+
+    public void setJqid(String jqid) {
+        this.jqid = jqid;
+    }
+
+    public String getNo1DlstartTime1() {
+        return no1DlstartTime1;
+    }
+
+    public void setNo1DlstartTime1(String no1DlstartTime1) {
+        this.no1DlstartTime1 = no1DlstartTime1;
+    }
+
+    public String getNo1DlstartTime2() {
+        return no1DlstartTime2;
+    }
+
+    public void setNo1DlstartTime2(String no1DlstartTime2) {
+        this.no1DlstartTime2 = no1DlstartTime2;
+    }
+
+    public String getNo1DlstartTime3() {
+        return no1DlstartTime3;
+    }
+
+    public void setNo1DlstartTime3(String no1DlstartTime3) {
+        this.no1DlstartTime3 = no1DlstartTime3;
+    }
+
+    public String getNo1DlstartTime4() {
+        return no1DlstartTime4;
+    }
+
+    public void setNo1DlstartTime4(String no1DlstartTime4) {
+        this.no1DlstartTime4 = no1DlstartTime4;
+    }
+
+    public String getNo2DlstartTime1() {
+        return no2DlstartTime1;
+    }
+
+    public void setNo2DlstartTime1(String no2DlstartTime1) {
+        this.no2DlstartTime1 = no2DlstartTime1;
+    }
+
+    public String getNo2DlstartTime2() {
+        return no2DlstartTime2;
+    }
+
+    public void setNo2DlstartTime2(String no2DlstartTime2) {
+        this.no2DlstartTime2 = no2DlstartTime2;
+    }
+
+    public String getNo2DlstartTime3() {
+        return no2DlstartTime3;
+    }
+
+    public void setNo2DlstartTime3(String no2DlstartTime3) {
+        this.no2DlstartTime3 = no2DlstartTime3;
+    }
+
+    public String getNo2DlstartTime4() {
+        return no2DlstartTime4;
+    }
+
+    public void setNo2DlstartTime4(String no2DlstartTime4) {
+        this.no2DlstartTime4 = no2DlstartTime4;
+    }
+
+    public String getNo3DlstartTime1() {
+        return no3DlstartTime1;
+    }
+
+    public void setNo3DlstartTime1(String no3DlstartTime1) {
+        this.no3DlstartTime1 = no3DlstartTime1;
+    }
+
+    public String getNo3DlstartTime2() {
+        return no3DlstartTime2;
+    }
+
+    public void setNo3DlstartTime2(String no3DlstartTime2) {
+        this.no3DlstartTime2 = no3DlstartTime2;
+    }
+
+    public String getNo3DlstartTime3() {
+        return no3DlstartTime3;
+    }
+
+    public void setNo3DlstartTime3(String no3DlstartTime3) {
+        this.no3DlstartTime3 = no3DlstartTime3;
+    }
+
+    public String getNo3DlstartTime4() {
+        return no3DlstartTime4;
+    }
+
+    public void setNo3DlstartTime4(String no3DlstartTime4) {
+        this.no3DlstartTime4 = no3DlstartTime4;
+    }
+
+    public String getNo4DlstartTime1() {
+        return no4DlstartTime1;
+    }
+
+    public void setNo4DlstartTime1(String no4DlstartTime1) {
+        this.no4DlstartTime1 = no4DlstartTime1;
+    }
+
+    public String getNo4DlstartTime2() {
+        return no4DlstartTime2;
+    }
+
+    public void setNo4DlstartTime2(String no4DlstartTime2) {
+        this.no4DlstartTime2 = no4DlstartTime2;
+    }
+
+    public String getNo4DlstartTime3() {
+        return no4DlstartTime3;
+    }
+
+    public void setNo4DlstartTime3(String no4DlstartTime3) {
+        this.no4DlstartTime3 = no4DlstartTime3;
+    }
+
+    public String getNo4DlstartTime4() {
+        return no4DlstartTime4;
+    }
+
+    public void setNo4DlstartTime4(String no4DlstartTime4) {
+        this.no4DlstartTime4 = no4DlstartTime4;
+    }
+
+}

+ 38 - 0
shiwan/admin/src/main/java/com/huimv/admin/exception/PlatformException.java

@@ -0,0 +1,38 @@
+/**
+ * @Copyright (C), 2014-2020, 杭州慧牧科技有限公司
+ * @ClassName: RobotException
+ * @Author: yejijie
+ * @E-mail: yejijie@huimv.com
+ * @Date: 2020年4月23日
+ * @Version: V1.0
+ * @Description:
+ */
+package com.huimv.admin.exception;
+
+/**
+ * @author yejijie
+ *
+ */
+public class PlatformException extends RuntimeException {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6529181147584750288L;
+	private String errCode;
+	private String errMsg;
+	public PlatformException() {
+		super();
+	}
+	public PlatformException(String code, String msg) {
+		super(msg);
+		this.errCode = code;
+		this.errMsg = msg;
+	}
+	public String getErrCode() {
+		return errCode;
+	}
+	public String getErrMsg() {
+		return errMsg;
+	}
+}

+ 38 - 0
shiwan/admin/src/main/java/com/huimv/admin/exception/RobotException.java

@@ -0,0 +1,38 @@
+/**
+ * @Copyright (C), 2014-2020, 杭州慧牧科技有限公司
+ * @ClassName: RobotException
+ * @Author: yejijie
+ * @E-mail: yejijie@huimv.com
+ * @Date: 2020年4月23日
+ * @Version: V1.0
+ * @Description:
+ */
+package com.huimv.admin.exception;
+
+/**
+ * @author yejijie
+ *
+ */
+public class RobotException extends RuntimeException {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6529181147584750288L;
+	private String errCode;
+	private String errMsg;
+	public RobotException() {
+		super();
+	}
+	public RobotException(String code, String msg) {
+		super(msg);
+		this.errCode = code;
+		this.errMsg = msg;
+	}
+	public String getErrCode() {
+		return errCode;
+	}
+	public String getErrMsg() {
+		return errMsg;
+	}
+}

+ 19 - 0
shiwan/admin/src/main/java/com/huimv/admin/exception/constant/ExceptionConstant.java

@@ -0,0 +1,19 @@
+package com.huimv.admin.exception.constant;
+
+/**
+ * 异常 常量类
+ * @author guojian
+ */
+public class ExceptionConstant {
+
+    public static final String DATA_NOT_FOUND = "data_not_found";
+
+    public static final String REQUEST_NOT_AUTHORIZE = "request_not_authorize";
+    public static final String ACCOUNT_NOT_AUTHORIZE = "account_not_authorize";
+    public static final String ORG_NOT_AUTHORIZE = "org_not_authorize";
+
+    public static final String OVERSTEP_ORG_AUTH = "overstep_org_auth";
+
+    public static final String DO_IT_LATER = "do_it_later";
+    public static final String ORG_NOT_ACCOUNT = "org_not_account";
+}

+ 28 - 0
shiwan/admin/src/main/java/com/huimv/admin/group/UserAndAccountGroup.java

@@ -0,0 +1,28 @@
+package com.huimv.admin.group;
+
+import lombok.Data;
+
+@Data
+public class UserAndAccountGroup {
+    private String accountName;
+
+    private Integer accountStatus;
+
+    private Integer id;
+
+    private String userName;
+
+    private Integer male;
+
+    private String birthday;
+
+    private String mobile;
+
+    private String address;
+
+    private String job;
+
+    private String remark;
+
+    private Long userId;
+}

+ 28 - 0
shiwan/admin/src/main/java/com/huimv/admin/logger/ExceptionUtil.java

@@ -0,0 +1,28 @@
+package com.huimv.admin.logger;
+
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+@Slf4j
+public class ExceptionUtil {
+
+    /**
+     * 打印异常信息
+     */
+    public static String getMessage(Exception e) {
+        String swStr = null;
+        try (StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw)) {
+            e.printStackTrace(pw);
+            pw.flush();
+            sw.flush();
+            swStr = sw.toString();
+        } catch (IOException ex) {
+            ex.printStackTrace();
+            log.error(ex.getMessage());
+        }
+        return swStr;
+    }
+}

+ 96 - 0
shiwan/admin/src/main/java/com/huimv/admin/logger/dynamic/AppenderInstance.java

@@ -0,0 +1,96 @@
+package com.huimv.admin.logger.dynamic;
+
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
+import ch.qos.logback.classic.filter.LevelFilter;
+import ch.qos.logback.core.rolling.RollingFileAppender;
+import ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy;
+import ch.qos.logback.core.util.FileSize;
+import ch.qos.logback.core.util.OptionHelper;
+import com.huimv.admin.exception.PlatformException;
+import org.slf4j.LoggerFactory;
+import org.springframework.util.StringUtils;
+
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * 这个类是给日志动态提供appender
+ * @author guojian
+ */
+public class AppenderInstance {
+
+    /**
+     * 通过传入的名字和级别,动态设置appender
+     * @param logDir
+     * @param name
+     * @param level
+     * @return
+     */
+    public RollingFileAppender getAppender(String logDir, String name, Level level) {
+        //最好还能做个正则校验?(目录)
+        if(StringUtils.isEmpty(logDir)){
+            throw new PlatformException("log_dir_empty", "日志文件目录,初始化失败...");
+        }
+
+        DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.SIMPLIFIED_CHINESE);
+        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
+        //这里是可以用来设置appender的,在xml配置文件里面,是这种形式:
+        // <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        RollingFileAppender appender = new RollingFileAppender();
+//        ConsoleAppender consoleAppender = new ConsoleAppender();
+
+        //这里设置级别过滤器
+        LevelController levelController = new LevelController();
+        LevelFilter levelFilter = levelController.getLevelFilter(level);
+        levelFilter.start();
+        appender.addFilter(levelFilter);
+
+
+        //设置上下文,每个logger都关联到logger上下文,默认上下文名称为default。
+        //但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。
+        appender.setContext(context);
+        //appender的name属性
+        appender.setName("FILE-" + name);
+        //设置文件名
+        appender.setFile(OptionHelper.substVars(logDir + name + "/" + format.format(new Date()) + "/" + level.levelStr + ".log", context));
+
+        appender.setAppend(true);
+        appender.setPrudent(false);
+
+        //设置文件创建时间及大小的类
+        SizeAndTimeBasedRollingPolicy policy = new SizeAndTimeBasedRollingPolicy();  //TimeBasedRollingPolicy
+        //文件名格式
+        String fp = OptionHelper.substVars(logDir + name + "/" + format.format(new Date()) + "/" + level.levelStr + "/.%d{yyyy-MM-dd}.%i.log", context);
+        //最大日志文件大小
+        policy.setMaxFileSize(FileSize.valueOf("128MB"));
+        //设置文件名模式
+        policy.setFileNamePattern(fp);
+        //设置最大历史记录为15条
+        policy.setMaxHistory(15);
+        //总大小限制
+        policy.setTotalSizeCap(FileSize.valueOf("32GB"));
+        //设置父节点是appender
+        policy.setParent(appender);
+        //设置上下文,每个logger都关联到logger上下文,默认上下文名称为default。
+        //但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。
+        policy.setContext(context);
+        policy.start();
+
+        PatternLayoutEncoder encoder = new PatternLayoutEncoder();
+        //设置上下文,每个logger都关联到logger上下文,默认上下文名称为default。
+        //但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。
+        encoder.setContext(context);
+        //设置格式
+        encoder.setPattern("%d %p (%file:%line\\)- %m%n");
+        encoder.start();
+
+        //加入下面两个节点
+        appender.setRollingPolicy(policy);
+        appender.setEncoder(encoder);
+        appender.start();
+        return appender;
+    }
+}

+ 27 - 0
shiwan/admin/src/main/java/com/huimv/admin/logger/dynamic/LevelController.java

@@ -0,0 +1,27 @@
+package com.huimv.admin.logger.dynamic;
+
+
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.filter.LevelFilter;
+
+import static ch.qos.logback.core.spi.FilterReply.ACCEPT;
+import static ch.qos.logback.core.spi.FilterReply.DENY;
+
+/**
+ * 这个类的作用是给日志通过level设置过滤器
+ * @author guojian
+ */
+public class LevelController {
+    /**
+     * 通过level设置过滤器
+     * @param level
+     * @return
+     */
+    public LevelFilter getLevelFilter(Level level){
+        LevelFilter levelFilter = new LevelFilter();
+        levelFilter.setLevel(level);
+        levelFilter.setOnMatch(ACCEPT);
+        levelFilter.setOnMismatch(DENY);
+        return levelFilter;
+    }
+}

+ 8 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/MemberAccountRepository.java

@@ -0,0 +1,8 @@
+package com.huimv.admin.repo.primary;
+
+import com.huimv.admin.domain.primary.MemberAccount;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface MemberAccountRepository extends JpaRepository<MemberAccount, Integer> {
+
+}

+ 7 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/ProductionDataEntityRepository.java

@@ -0,0 +1,7 @@
+package com.huimv.admin.repo.primary;
+
+import com.huimv.admin.domain.primary.ProductionData;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ProductionDataEntityRepository extends JpaRepository<ProductionData, Integer> {
+}

+ 28 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysAccountEntityRepository.java

@@ -0,0 +1,28 @@
+package com.huimv.admin.repo.primary;
+
+import com.huimv.admin.domain.primary.SysAccountEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+public interface SysAccountEntityRepository extends JpaRepository<SysAccountEntity, Integer>, JpaSpecificationExecutor<SysAccountEntity> {
+    @Query(nativeQuery = true , value = "SELECT * FROM sys_account WHERE account_name=?1 AND password=?2")
+    SysAccountEntity findByAccountName(String accountName, String password);
+
+    @Transactional
+    @Modifying(clearAutomatically = true, flushAutomatically = true)
+    @Query(nativeQuery = true,value = "UPDATE sys_account SET account_status=?2 WHERE user_id=(SELECT user_id FROM sys_user WHERE id=?1)")
+    int updateAccountStatus(Integer id, Integer status);
+
+    @Transactional
+    @Modifying(clearAutomatically = true, flushAutomatically = true)
+    @Query(nativeQuery = true,value = "DELETE FROM sys_account WHERE user_id=?1")
+    void deleteByUserId(Long userId);
+
+    @Query(nativeQuery = true,value = "SELECT * FROM sys_account WHERE user_id=?1")
+    List<SysAccountEntity> findByUserId(Long userId);
+}

+ 35 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysAccountGroupEntityRepository.java

@@ -0,0 +1,35 @@
+package com.huimv.admin.repo.primary;
+
+import com.huimv.admin.domain.primary.SysAccountGroupEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+
+public interface SysAccountGroupEntityRepository extends JpaRepository<SysAccountGroupEntity, Integer>, JpaSpecificationExecutor<SysAccountGroupEntity> {
+
+    @Modifying
+    @Transactional
+    @Query(nativeQuery = true,value = "DELETE FROM sys_account_group WHERE group_id=?1")
+    void removeAccountGroup(String groupIds);
+
+    @Query(nativeQuery = true,value = "SELECT * FROM sys_account_group WHERE account_id=?1")
+    List<SysAccountGroupEntity> getGroupByAccount(String accountId);
+
+    @Query(nativeQuery = true,value = "SELECT * FROM sys_account_group WHERE group_id=?1")
+    List<SysAccountGroupEntity> getAccountByGroup(String groupId);
+
+    @Transactional
+    @Modifying
+    @Query(nativeQuery = true,value = "INSERT INTO sys_account_group(account_id,group_id)VALUES(?1,?2)")
+    void insert(int accountId, int groupId);
+
+    @Modifying
+    @Transactional
+    @Query(nativeQuery = true,value = "DELETE FROM sys_account_group WHERE account_id=?1 AND group_id=?2")
+    void removeAccountGroup(String accountId, String groupId);
+}

+ 15 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysGroupEntityRepository.java

@@ -0,0 +1,15 @@
+package com.huimv.admin.repo.primary;
+
+
+import com.huimv.admin.domain.primary.SysGroupEntity;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+
+public interface SysGroupEntityRepository extends JpaRepository<SysGroupEntity, Integer>, JpaSpecificationExecutor<SysGroupEntity> {
+    @Query(nativeQuery = true , value = "SELECT * FROM sys_group WHERE group_name like %?1% order by ?#{#pageable}")
+    Page<SysGroupEntity> findByGroupNameLike(String searchStr, Pageable pageable);
+}

+ 31 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysGroupMenuEntityRepository.java

@@ -0,0 +1,31 @@
+package com.huimv.admin.repo.primary;
+
+import com.huimv.admin.domain.primary.SysGroupMenuEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+public interface SysGroupMenuEntityRepository extends JpaRepository<SysGroupMenuEntity, Integer>, JpaSpecificationExecutor<SysGroupMenuEntity> {
+
+    @Modifying
+    @Transactional
+    @Query(nativeQuery = true,value = "DELETE FROM sys_group_menu WHERE group_id=?1")
+    void removeGroupMenu(String groupId);
+
+    @Query(nativeQuery = true,value = "SELECT * FROM sys_group_menu WHERE group_id=?1")
+    List<SysGroupMenuEntity> getMenuByGroup(String groupId);
+
+    @Modifying
+    @Transactional
+    @Query(nativeQuery = true,value = "DELETE FROM sys_group_menu WHERE group_id=?1 AND menu_id=?2")
+    void removeGroupMenu(String groupId, String menuId);
+
+    @Modifying
+    @Transactional
+    @Query(nativeQuery = true,value = "DELETE FROM sys_group_menu WHERE group_id=?1")
+    void deleteByGroupId(Integer groupId);
+}

+ 21 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysMenuEntityRepository.java

@@ -0,0 +1,21 @@
+package com.huimv.admin.repo.primary;
+
+import com.huimv.admin.domain.primary.SysMenuEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface SysMenuEntityRepository extends JpaRepository<SysMenuEntity, Integer>, JpaSpecificationExecutor<SysMenuEntity> {
+
+    @Query(nativeQuery = true , value = "SELECT * FROM sys_menu WHERE account_name=?1 AND password=?2")
+    List<SysMenuEntity> findByAccountId(Integer accountId);
+
+    @Query(nativeQuery = true , value = "SELECT * FROM sys_menu WHERE parent_id = ?1 ORDER BY sort ASC")
+    List<SysMenuEntity> findAllByParentId(Integer id);
+
+//    @Query(nativeQuery = true,value = "SELECT * FROM sys_menu WHERE id IN(SELECT DISTINCT(menu_id) FROM sys_group_menu WHERE group_id IN(SELECT group_id FROM sys_account_group WHERE account_id=(SELECT user1.id FROM sys_account account,sys_user user1 WHERE account.account_name=?1 AND account.user_id=user1.user_id  LIMIT 1)))")
+    @Query(nativeQuery = true,value = "SELECT * FROM sys_menu WHERE id IN(SELECT DISTINCT(menu_id) FROM sys_group_menu WHERE group_id IN(SELECT group_id FROM sys_account_group WHERE account_id=(SELECT user1.id FROM sys_account account,sys_user user1 WHERE account.account_name=?1 AND account.user_id=user1.user_id))) ORDER BY sort ASC")
+    List<SysMenuEntity> getMyMenu(String accountName);
+}

+ 37 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/primary/SysUserEntityRepository.java

@@ -0,0 +1,37 @@
+package com.huimv.admin.repo.primary;
+
+
+import com.huimv.admin.domain.primary.SysUserEntity;
+import com.huimv.admin.group.UserAndAccountGroup;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
+public interface SysUserEntityRepository extends JpaRepository<SysUserEntity, Integer>, JpaSpecificationExecutor<SysUserEntity> {
+    @Query(nativeQuery = true, value = "SELECT * FROM sys_user WHERE instr(user_name, ?1) > 0 OR instr(mobile, ?1) > 0 order by ?#{#pageable}")
+    Page<SysUserEntity> findByUserNameOOrMobile(String searchStr, Pageable pageable);
+
+//    Page<SysUserEntity> findAllUser(Pageable pageable);
+
+//    @Query(nativeQuery = true, value = "SELECT user.*,account.account_name,account.account_status FROM sys_user user LEFT JOIN sys_account account ON user.user_id=account.user_id WHERE user.user_name=?1  OR user.mobile=?1 order by ?#{#pageable}")
+    @Query(nativeQuery = true, value = "SELECT user.*,account.account_name,account.account_status FROM sys_user user LEFT JOIN sys_account account ON user.user_id=account.user_id WHERE user.user_name=?1  OR user.mobile=?1 order by id desc limit ?2,?3")
+    List<Object[]> findUserAndAccountByUserName(String searchStr, int start, int end);
+
+    @Query(nativeQuery = true, value="SELECT count(*) FROM sys_user  WHERE user_name=?1")
+    Integer countByUserName(String userName);
+
+//    @Query(nativeQuery = true, value = "SELECT user.*,account.account_name,account.account_status FROM sys_user user LEFT JOIN sys_account account ON user.user_id=account.user_id order by ?#{#pageable}")
+    @Query(nativeQuery = true, value = "SELECT user.*,account.account_name,account.account_status FROM sys_user user LEFT JOIN sys_account account ON user.user_id=account.user_id order by id desc limit ?1,?2")
+    List<Object[]> findUserAndAccount(int start, int pageSize);
+
+    @Query(nativeQuery = true, value = "SELECT * FROM sys_user WHERE instr(user_name, ?1) > 0 OR instr(mobile, ?1) > 0 order by ?#{#pageable}")
+    Page<SysUserEntity> findUserAndAccount2(@Param("searchStr") String searchStr, Pageable pageable);
+
+    @Query(nativeQuery = true, value = "SELECT user.*,account.account_name,account.account_status FROM sys_user user LEFT JOIN sys_account account ON user.user_id=account.user_id WHERE user.user_name=?1  OR user.mobile=?1 order by ?#{#pageable}")
+    Page<UserAndAccountGroup> yxxList(String searchStr, Pageable pageable);
+}

+ 16 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DaJqdaRepo.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.repo.secondary;
+
+import com.huimv.admin.domain.secondary.DaJqda;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface DaJqdaRepo extends JpaRepository<DaJqda, Integer>, JpaSpecificationExecutor<DaJqda> {
+
+    @Query(nativeQuery = true ,value = "SELECT * FROM da_jqda order by id DESC ")
+    List<DaJqda> findMax();
+
+    List<DaJqda> findAllByZSID(Integer ZSID);
+}

+ 38 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DaLqdaRepository.java

@@ -0,0 +1,38 @@
+package com.huimv.admin.repo.secondary;
+
+import com.huimv.admin.domain.secondary.DaLqda;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+import java.util.Map;
+
+public interface DaLqdaRepository extends JpaRepository<DaLqda, Integer>, JpaSpecificationExecutor<DaLqda> {
+
+    @Query(nativeQuery = true ,value = "select * from da_lqda where zsid like %?1%   limit ?2 , ?3")
+    List<DaLqda> findAll(String name, Integer startPage, Integer pageSize);
+
+
+
+    @Query(nativeQuery = true ,value = " SELECT  * FROM  da_lqda ORDER BY id DESC  LIMIT 1   ")
+    DaLqda  findlast();
+
+
+    @Query(nativeQuery = true ,value = "select * from da_lqda where zsid like %?1%  ORDER BY id DESC LIMIT 1")
+    List<DaLqda> findAllByZsid(Integer ZSID);
+
+    @Query(nativeQuery = true ,value = "SELECT lq.*,zs.ZSMC FROM `da_lqda` lq,`da_zsda` zs WHERE lq.ZSID = zs.ID and lq.ZSID in (?1) and lq.LQMC like %?2% limit ?3,?4")
+    List<Map<String,Object>> findAllByZsids(List<Integer> zsids, String name, Integer startPage, Integer pageSize);
+
+    @Query(nativeQuery = true , value = "select count(*) from da_lqda where ZSID in (?1) and LQMC like %?2%")
+    Integer findAllByZsidAll(List<Integer> zsids,String name);
+
+
+//    @Query(nativeQuery = true , value = "SELECT id,CGQID,lqid,dqaq,CJSJ,SCSJ FROM sj_hk_aq WHERE id IN(SELECT MAX(id) FROM sj_hk_aq WHERE lqid IN(?1) AND DATE_FORMAT(CJSJ,'%Y-%m-%d')=?2 GROUP BY lqid)")
+//    List<SjHkAqEntity> getLastAq(List<Integer> lqids,String todayDate);
+
+    @Query(nativeQuery = true , value = "select LQMC from da_lqda where id = ?1")
+   String findBy(Integer dqlq);
+
+}

+ 26 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DaZsdaRepository.java

@@ -0,0 +1,26 @@
+package com.huimv.admin.repo.secondary;
+
+import com.huimv.admin.domain.secondary.DaZsda;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface DaZsdaRepository extends JpaRepository<DaZsda, Integer>, JpaSpecificationExecutor<DaZsda> {
+    @Query(nativeQuery = true ,value = "select * from da_zsda where MCID = 39 and ZFBZ = 0")
+    List<DaZsda> findAlla();
+
+	@Query(nativeQuery = true ,value = "select * from da_zsda where ZSMC like %?1% and MCID = 39 and ZFBZ = 0  order by XGSJ DESC limit ?2 , ?3")
+    List<DaZsda> findAll(String name, Integer startPage, Integer pageSize);
+
+    @Query(nativeQuery = true ,value = "SELECT MAX(id) FROM da_zsda ")
+    List<Integer> findMax();
+
+
+    @Query(nativeQuery = true ,value = "select * from da_zsda where MCID = 39 and ZFBZ = 0 order by XGSJ DESC limit ?1 , ?2")
+    List<DaZsda> findAllb(Integer startPage, Integer pageSize);
+
+    @Query(nativeQuery = true ,value = "select count(*) from da_zsda where MCID = 39 and ZSMC like %?1% ")
+    Integer findAllc(String name);
+}

+ 18 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/DpSjlrSyRepo.java

@@ -0,0 +1,18 @@
+package com.huimv.admin.repo.secondary;
+
+import com.huimv.admin.domain.secondary.DpSjlrSy;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.repo.secondary
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/1/12 0012 11:27
+ **/
+public interface DpSjlrSyRepo extends JpaRepository<DpSjlrSy,InternalError>, JpaSpecificationExecutor<DpSjlrSy> {
+    List<DpSjlrSy> findAllByMCID(int i);
+}

+ 64 - 0
shiwan/admin/src/main/java/com/huimv/admin/repo/secondary/MachineControlRepository.java

@@ -0,0 +1,64 @@
+package com.huimv.admin.repo.secondary;
+
+import com.huimv.admin.domain.secondary.MachineControlEntity;
+import com.huimv.admin.vo.MachineControlVO;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author yinhao
+ * @Date 2021/4/1 18:12
+ * @Description 料控管理Dao
+ */
+public interface MachineControlRepository extends JpaRepository<MachineControlEntity, Integer>, JpaSpecificationExecutor<MachineControlEntity> {
+
+//    MachineControlEntity findByJqid(String jqId);
+
+    @Query(nativeQuery = true,value = "SELECT\n" +
+            "    lk.id,\n" +
+            "    zs.id zsId,\n" +
+            "    ZSMC,\n" +
+            "    lk.jqid,\n" +
+            "    no1_dlstart_time1 no1DlstartTime1,\n" +
+            "    no1_dlstart_time2 no1DlstartTime2,\n" +
+            "    no1_dlstart_time3 no1DlstartTime3,\n" +
+            "    no1_dlstart_time4 no1DlstartTime4,\n" +
+            "    no2_dlstart_time1 no2DlstartTime1,\n" +
+            "    no2_dlstart_time2 no2DlstartTime2,\n" +
+            "    no2_dlstart_time3 no2DlstartTime3,\n" +
+            "    no2_dlstart_time4 no2DlstartTime4,\n" +
+            "    no3_dlstart_time1 no3DlstartTime1,\n" +
+            "    no3_dlstart_time2 no3DlstartTime2,\n" +
+            "    no3_dlstart_time3 no3DlstartTime3,\n" +
+            "    no3_dlstart_time4 no3DlstartTime4,\n" +
+            "    no4_dlstart_time1 no4DlstartTime1,\n" +
+            "    no4_dlstart_time2 no4DlstartTime2,\n" +
+            "    no4_dlstart_time3 no4DlstartTime3,\n" +
+            "    no4_dlstart_time4 no4DlstartTime4\n" +
+            "FROM\n" +
+            "  da_zsda zs\n" +
+            "  JOIN da_jqda jq\n" +
+            "    ON zs.`ID` = jq.`ZSID`\n" +
+            "  JOIN da_lkpz lk\n" +
+            "    ON jq.`JQID` = lk.`jqid`\n" +
+            "WHERE zs.MCID = 39 and zs.ZFBZ = 0 and jq.ZFBZ = 0 and ZSMC LIKE CONCAT('%',?3,'%') LIMIT ?1,?2")
+    List<Map> getMachineControlInfo(Integer start, Integer pageSize, String keyword);
+
+//    @Query(nativeQuery = true,value = "SELECT zs.`ZSMC`,lk.* FROM da_zsda  zs JOIN da_jqda  jq ON zs.`ID`=jq.`ZSID` JOIN da_lkpz lk ON jq.`JQID`=lk.`jqid` where zs.ZSMC like %?3% limit ?1,?2")
+//    List<Map> findMachineControlInfo(Integer start,Integer pageSize,String keyword);
+
+    @Query(nativeQuery = true,value = "SELECT count(*) FROM da_zsda  zs JOIN da_jqda  jq ON zs.`ID`=jq.`ZSID` and zs.MCID = 39 and zs.ZFBZ = 0 and jq.ZFBZ = 0 JOIN da_lkpz lk ON jq.`JQID`=lk.`jqid` where zs.ZSMC like %?1%")
+    Long countTotalSize(String keyword);
+
+    /**
+     * 新增时的猪舍名称下拉框
+     * @return
+     */
+    @Query(nativeQuery = true,value = "SELECT zs.ZSMC,zs.id zsId,jq.JQID jqid  FROM da_zsda zs JOIN da_jqda jq ON zs.ID = jq.ZSID WHERE zs.MCID = 39 and zs.ZFBZ = 0 and jq.ZFBZ = 0 and jq.JQID NOT IN (SELECT jqid FROM da_lkpz lk)")
+    List<Map<String,Object>> selectZsList();
+}

+ 32 - 0
shiwan/admin/src/main/java/com/huimv/admin/response/ErrorResponse.java

@@ -0,0 +1,32 @@
+package com.huimv.admin.response;
+
+
+public class ErrorResponse extends PlatformResponse {
+
+	private String errCode;
+	private String errMsg;
+	
+	public ErrorResponse() {};
+	public ErrorResponse(String code, String msg) {
+		this.errCode=code;
+		this.errMsg = msg;
+	}
+	
+	public String getErrCode() {
+		return errCode;
+	}
+	public void setErrCode(String errCode) {
+		this.errCode = errCode;
+	}
+	public String getErrMsg() {
+		return errMsg;
+	}
+	public void setErrMsg(String errMsg) {
+		this.errMsg = errMsg;
+	}
+	@Override
+	public String toString() {
+		return "{\"errCode\":\"" + errCode + "\",\"errMsg\":\"" + errMsg + "\"}";
+	}
+	
+}

+ 24 - 0
shiwan/admin/src/main/java/com/huimv/admin/response/OkResponse.java

@@ -0,0 +1,24 @@
+package com.huimv.admin.response;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class OkResponse extends PlatformResponse {
+	private String code;
+	private String msg;
+	private Object data;
+	public static final String SUCCESS_CODE = "success";
+
+	public OkResponse(String msg, Object data) {
+		code = SUCCESS_CODE;
+		this.msg = msg;
+		this.data = data;
+	}
+
+	public OkResponse(String msg) {
+		this(msg, null);
+	}
+
+}

+ 9 - 0
shiwan/admin/src/main/java/com/huimv/admin/response/PlatformResponse.java

@@ -0,0 +1,9 @@
+package com.huimv.admin.response;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+@JsonInclude(value=Include.NON_NULL)
+public class PlatformResponse {
+
+}

+ 68 - 0
shiwan/admin/src/main/java/com/huimv/admin/response/ResponseData.java

@@ -0,0 +1,68 @@
+/**
+ * @Copyright (C), 2014-2020, 杭州慧牧科技有限公司
+ * @ClassName: ResponseErr
+ * @Author: yejijie
+ * @E-mail: yejijie@huimv.com
+ * @Date: 2020年4月22日
+ * @Version: V1.0
+ * @Description:
+ */
+package com.huimv.admin.response;
+
+
+/**
+ * @author yejijie
+ */
+public class ResponseData {
+
+    public static String SUCCESS_CODE = "200";
+
+    private String errCode;
+    private String errMsg;
+    private Object data;
+
+    private ResponseData() {
+    }
+
+    private ResponseData(String code, String msg, Object data) {
+        this.errCode = code;
+        this.errMsg = msg;
+        this.data = data;
+    }
+
+    public static ResponseData ok(String msg, Object data) {
+        return new ResponseData(SUCCESS_CODE, msg, data);
+    }
+
+    public static ResponseData err(String code, String msg) {
+        return new ResponseData(code, msg, null);
+    }
+
+    public static ResponseData err(String code, String msg, Object data) {
+        return new ResponseData(code, msg, data);
+    }
+
+    public String getErrCode() {
+        return errCode;
+    }
+
+    public void setErrCode(String errCode) {
+        this.errCode = errCode;
+    }
+
+    public String getErrMsg() {
+        return errMsg;
+    }
+
+    public void setErrMsg(String errMsg) {
+        this.errMsg = errMsg;
+    }
+
+	public Object getData() {
+		return data;
+	}
+
+	public void setData(Object data) {
+		this.data = data;
+	}
+}

+ 46 - 0
shiwan/admin/src/main/java/com/huimv/admin/response/RobotResponse.java

@@ -0,0 +1,46 @@
+/**
+ * @Copyright (C), 2014-2020, 杭州慧牧科技有限公司
+ * @ClassName: ResponseBase
+ * @Author: yejijie
+ * @E-mail: yejijie@huimv.com
+ * @Date: 2020年4月22日
+ * @Version: V1.0
+ * @Description:
+ */
+package com.huimv.admin.response;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+/**
+ * @author yejijie
+ *
+ */
+public class RobotResponse {
+	
+	@JSONField(name="ret")
+	private int ret;
+	@JSONField(name="msg")
+	private String msg;
+	@JSONField(name = "data")
+	private Object data;
+	public int getRet() {
+		return ret;
+	}
+	public void setRet(int ret) {
+		this.ret = ret;
+	}
+	public String getMsg() {
+		return msg;
+	}
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+	public Object getData() {
+		return data;
+	}
+	public void setData(Object data) {
+		this.data = data;
+	}
+	
+	
+}

+ 19 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/IAccountService.java

@@ -0,0 +1,19 @@
+package com.huimv.admin.service.primary;
+
+import com.huimv.admin.domain.primary.SysAccountEntity;
+import com.huimv.admin.utils.Result;
+
+import java.util.List;
+
+public interface IAccountService {
+
+    Result setAccountStatus(List<Integer> ids, Integer status);
+
+    Result newAccount(Integer userId);
+
+    Result cancelAccount(Integer id, Integer accountStatus);
+
+    Result removeAccount(List<Integer> ids);
+
+    Result findAll();
+}

+ 33 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/IAuthorizeService.java

@@ -0,0 +1,33 @@
+package com.huimv.admin.service.primary;
+
+import com.huimv.admin.utils.Result;
+
+import java.util.List;
+
+public interface IAuthorizeService {
+
+    Result saveAccountGroup(String accountId, String groupIds);
+
+    Result saveGroupMenu(String groupId, String menuIds);
+
+   // Result getMyMenu(String accountName);
+    List getMyMenu(String accountName);
+
+    Result getMenuByGroup(String groupId);
+
+    Result getGroupByAccount(String accountId);
+
+    Result getAccountByGroup(String groupId);
+
+    /*
+    * @Method      : getMyMenuAll
+    * @Description :
+    * @Params      : [accountName]
+    * @Return      : java.util.List
+    *
+    * @Author      : yuxuexuan
+    * @Date        : 2021/1/6 0006
+    * @Time        : 10:37
+    */
+    List getMyMenuAll(String accountName);
+}

+ 17 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/IGroupService.java

@@ -0,0 +1,17 @@
+package com.huimv.admin.service.primary;
+
+import com.huimv.admin.domain.primary.SysGroupEntity;
+import com.huimv.admin.utils.Result;
+import org.springframework.data.domain.Page;
+
+public interface IGroupService {
+
+
+    Result updateGroup(Integer groupId, String groupName, String remark);
+
+    Result removeGroup(Integer groupId);
+
+    Page<SysGroupEntity> listGroup(int pageNum, int pageSize, String searchStr);
+
+    Result addGroup(String groupName, String remark);
+}

+ 10 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/ILoginService.java

@@ -0,0 +1,10 @@
+package com.huimv.admin.service.primary;
+
+import com.huimv.admin.utils.Result;
+
+public interface ILoginService {
+
+    Result login(String accountName, String password);
+
+    Result logout();
+}

+ 25 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/IMenuService.java

@@ -0,0 +1,25 @@
+package com.huimv.admin.service.primary;
+
+import com.huimv.admin.domain.primary.SysMenuEntity;
+import com.huimv.admin.utils.Result;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IMenuService {
+    //添加菜单
+    Result addMenu(SysMenuEntity menu);
+    //修改菜单
+    Result editMenu(SysMenuEntity menu);
+    //删除菜单(批量)
+    Result removeMenu(Integer menuId);
+   /* //查询所有
+    List<Map> listMenu();
+    //菜单递归
+    List listMenuUtil(List<SysMenuEntity> list);*/
+
+    //优化查询所有
+    Result optimizeList();
+    //优化菜单递归
+    List<Map> optimizeListUtil(int parentId, List<SysMenuEntity> menuEntityList);
+}

+ 23 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/IProductionDataService.java

@@ -0,0 +1,23 @@
+package com.huimv.admin.service.primary;
+
+import com.huimv.admin.domain.primary.ProductionData;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.service
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/1/4 0004 14:54
+ **/
+public interface IProductionDataService {
+
+    void save(ProductionData productionData);
+
+    void update(ProductionData productionData);
+
+    void delete(List<Integer> ids);
+
+    List<ProductionData> findAll();
+}

+ 26 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/IUserService.java

@@ -0,0 +1,26 @@
+package com.huimv.admin.service.primary;
+
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.admin.domain.primary.SysUserEntity;
+import com.huimv.admin.group.UserAndAccountGroup;
+import com.huimv.admin.utils.Result;
+import org.springframework.data.domain.Page;
+
+import java.util.List;
+
+public interface IUserService {
+
+    Page<SysUserEntity> findUser(String searchStr, int pageNum, int pageSize);
+
+    JSONObject findUserAccount(String searchStr, int pageNum, int pageSize);
+
+    JSONObject findUserAccount2(String searchStr, int pageNum, int pageSize);
+
+    List<UserAndAccountGroup> yxxList(String searchStr, int pageNum, int pageSize);
+
+    Result addUser(SysUserEntity user);
+
+    Result updateUser(SysUserEntity user);
+
+    Result removeUser(List<Integer> userIds);
+}

+ 98 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/AccountServiceImpl.java

@@ -0,0 +1,98 @@
+package com.huimv.admin.service.primary.impl;
+
+import com.huimv.admin.domain.primary.SysAccountEntity;
+import com.huimv.admin.domain.primary.SysUserEntity;
+import com.huimv.admin.repo.primary.SysAccountEntityRepository;
+import com.huimv.admin.repo.primary.SysUserEntityRepository;
+import com.huimv.admin.service.primary.IAccountService;
+import com.huimv.admin.utils.GetMD5Str;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class AccountServiceImpl implements IAccountService {
+
+    @Autowired
+    private SysAccountEntityRepository sysAccountEntityRepository;
+
+    @Autowired
+    private SysUserEntityRepository sysUserEntityRepository;
+
+    @Transactional
+    @Override
+    public Result setAccountStatus(List<Integer> ids, Integer status) {
+        try {
+            for (Integer id : ids) {
+                sysAccountEntityRepository.updateAccountStatus(id,status);
+            }
+        }catch (Exception e){
+            return new Result(10001,"插入失败",false);
+        }
+        String message = "";
+        if(status == 1){
+            message = "你选择的账号已经启用。";
+        }else{
+            message = "你选择的账号已经暂停启用。";
+        }
+        return new Result(10000,message,true);
+    }
+
+    @Override
+    public Result newAccount(Integer userId) {
+        try {
+            SysAccountEntity sysAccountEntity = new SysAccountEntity();
+            SysUserEntity sysUserEntity = sysUserEntityRepository.findById(userId).get();
+            String mobile = sysUserEntity.getMobile();
+            String userName = sysUserEntity.getUserName();
+            if (mobile != null && !"".equals(mobile) ){
+                sysAccountEntity.setAccountName(mobile);
+            }else if (userName != null && !"".equals(userName)){
+                sysAccountEntity.setAccountName(userName);
+            }else {
+                return new Result(10000,"新增失败",false);
+            }
+            sysAccountEntity.setAccountStatus(1);
+            sysAccountEntity.setRemark("无");
+            sysAccountEntity.setPassword(GetMD5Str.getMD5Str("123456"));
+            sysAccountEntityRepository.save(sysAccountEntity);
+            return new Result(10000,"插入成功",true);
+        }catch (Exception e){
+            return new Result(10001,"插入失败",false);
+        }
+    }
+
+    @Override
+    public Result cancelAccount(Integer id, Integer accountStatus) {
+        try {
+            SysAccountEntity sysAccountEntity = sysAccountEntityRepository.findById(id).get();
+            sysAccountEntity.setAccountStatus(accountStatus);
+            sysAccountEntityRepository.save(sysAccountEntity);
+            return new Result(10000,"修改成功",true);
+        }catch (Exception e){
+            return new Result(10001,"修改失败",false);
+        }
+    }
+
+    @Override
+    public Result removeAccount(List<Integer> ids) {
+        try {
+            for (Integer id : ids) {
+                sysAccountEntityRepository.deleteById(id);
+            }
+        }catch (Exception e){
+            return new Result(10001,"删除失败",false);
+        }
+        return new Result(10000,"删除成功",true);
+    }
+
+    @Override
+    public Result findAll() {
+        List<SysAccountEntity> all = sysAccountEntityRepository.findAll();
+        return new Result(ResultCode.SUCCESS,all);
+    }
+}

+ 262 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/AuthorizeServiceImpl.java

@@ -0,0 +1,262 @@
+package com.huimv.admin.service.primary.impl;
+
+import com.huimv.admin.domain.primary.SysAccountGroupEntity;
+import com.huimv.admin.domain.primary.SysGroupMenuEntity;
+import com.huimv.admin.domain.primary.SysMenuEntity;
+import com.huimv.admin.repo.primary.SysAccountGroupEntityRepository;
+import com.huimv.admin.repo.primary.SysGroupMenuEntityRepository;
+import com.huimv.admin.repo.primary.SysMenuEntityRepository;
+import com.huimv.admin.service.primary.IAuthorizeService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class AuthorizeServiceImpl implements IAuthorizeService {
+
+    @Autowired
+    SysAccountGroupEntityRepository SysAccountGroupRepo;
+    @Autowired
+    SysGroupMenuEntityRepository sysGroupMenuRepo;
+    @Autowired
+    private SysMenuEntityRepository sysMenuEntityRepo;
+    @Autowired
+    private SysMenuEntityRepository sysMenuEntityRepository;
+
+ /*   @Override
+    @Transactional
+    public Result saveAccountGroup(String accountId, String groupIds) {
+        *//**
+         * Step1:先删除原先的账号关联权限组数据;
+         * Step2:再添加新的账号关联权限组数据;
+         *//*
+        if (groupIds == null||"".equals(groupIds)){
+            SysAccountGroupRepo.removeAccountGroup(accountId);
+            return new Result(10001, "保存账号关联权限组成功", true);
+        }
+        String[] groupIdArray = groupIds.split(",");
+        SysAccountGroupRepo.removeAccountGroup(accountId);
+//        for (int a = 0; a < groupIdArray.length; a++) {
+//            SysAccountGroupRepo.removeAccountGroup(accountId,groupIdArray[a]);
+//        }
+        for (int a = 0; a < groupIdArray.length; a++) {
+            SysAccountGroupEntity accountGroupEntity = new SysAccountGroupEntity();
+            accountGroupEntity.setAccountId(Integer.parseInt(accountId));
+            accountGroupEntity.setGroupId(Integer.parseInt(groupIdArray[a]));
+            SysAccountGroupRepo.saveAndFlush(accountGroupEntity);
+//            SysAccountGroupRepo.insert(Integer.parseInt(accountId),Integer.parseInt(groupIdArray[a]));
+        }
+        return new Result(10001, "保存账号关联权限组成功", true);
+    } */
+    @Override
+    @Transactional
+    public Result saveAccountGroup(String accountId, String groupIds) {
+        /**
+         * Step1:先删除原先的账号关联权限组数据;
+         * Step2:再添加新的账号关联权限组数据;
+         */
+        if (accountId == null||"".equals(accountId)){
+            SysAccountGroupRepo.removeAccountGroup(groupIds);
+            return new Result(10001, "保存账号关联权限组成功", true);
+        }else {
+            String[] groupIdArray = accountId.split(",");
+            SysAccountGroupRepo.removeAccountGroup(groupIds);
+//        for (int a = 0; a < groupIdArray.length; a++) {
+//            SysAccountGroupRepo.removeAccountGroup(accountId,groupIdArray[a]);
+//        }
+            for (int a = 0; a < groupIdArray.length; a++) {
+                SysAccountGroupEntity accountGroupEntity = new SysAccountGroupEntity();
+                accountGroupEntity.setAccountId(Integer.parseInt(groupIdArray[a]));
+                accountGroupEntity.setGroupId(Integer.parseInt(groupIds));
+                SysAccountGroupRepo.saveAndFlush(accountGroupEntity);
+//            SysAccountGroupRepo.insert(Integer.parseInt(accountId),Integer.parseInt(groupIdArray[a]));
+            }
+            return new Result(10001, "保存账号关联权限组成功", true);
+        }
+
+
+    }
+
+    @Override
+    @Transactional
+    public Result saveGroupMenu(String groupId, String menuIds) {
+        /**
+         * Step1:先删除原先的权限组关联菜单数据;
+         * Step2:再添加新的账号权限组关联菜单数据;
+         */
+        sysGroupMenuRepo.removeGroupMenu(groupId);
+        String[] menuIdsArray = menuIds.split(",");
+     /*   for (int a = 0; a < menuIdsArray.length; a++) {
+            sysGroupMenuRepo.removeGroupMenu(groupId, menuIdsArray[a]);
+        }*/
+        for (int a = 0; a < menuIdsArray.length; a++) {
+            SysGroupMenuEntity sysGroupMenuEntity = new SysGroupMenuEntity();
+            sysGroupMenuEntity.setGroupId(Integer.parseInt(groupId));
+            sysGroupMenuEntity.setMenuId(Integer.parseInt(menuIdsArray[a]));
+            sysGroupMenuRepo.saveAndFlush(sysGroupMenuEntity);
+        }
+        return new Result(10001, "保存权限组关联菜单成功", true);
+    }
+
+    /**
+     * @param accountName
+     * @return
+     */
+    public List getMyMenu_old(String accountName) {
+        System.out.println(" accountName>>" + accountName);
+        List<SysMenuEntity> menuEntityList = sysMenuEntityRepo.getMyMenu(accountName);
+        System.out.println(" menuEntityList.size>>" + menuEntityList.size());
+        List<SysMenuEntity> topList = new ArrayList();
+        for (SysMenuEntity sysMenuEntity : menuEntityList) {
+            if (sysMenuEntity.getParentId() == 0) {
+                topList.add(sysMenuEntity);
+            }
+        }
+        return topList;
+    }
+
+    @Override
+    public List getMyMenu(String accountName) {
+        List<SysMenuEntity> allMenuEntityList = sysMenuEntityRepo.getMyMenu(accountName);
+        System.out.println("123456");
+        //
+        List<SysMenuEntity> myRootMenuList = new ArrayList();
+        //pid(上级Id)为0的是根菜单
+        for (SysMenuEntity menuEntity : allMenuEntityList) {
+            if (menuEntity.getParentId() == 0) {
+                myRootMenuList.add(menuEntity);
+            }
+        }
+        // 遍历,找到二级菜单(根菜单的id和所有菜单中的pid比较)
+        for (SysMenuEntity myMenuEntity : myRootMenuList) {
+            /*  */
+            List<SysMenuEntity> child = getChild(myMenuEntity.getId(), allMenuEntityList);
+            myMenuEntity.setChildren(child);
+        }
+        return myRootMenuList;
+    }
+
+    public List<SysMenuEntity> getChild(int pid, List<SysMenuEntity> allMenuList) {
+        //子菜单列表
+        List<SysMenuEntity> childList = new ArrayList<>();
+        for (SysMenuEntity menuEntity : allMenuList) {
+            if (pid == menuEntity.getParentId()) {
+                childList.add(menuEntity);
+            }
+        }
+        //遍历 获取子菜单的子菜单
+        for (SysMenuEntity childMenu : childList) {
+            List<SysMenuEntity> child = getChild(childMenu.getId(), allMenuList);
+            childMenu.setChildren(child);
+        }
+        //递归出口 childList长度为0
+        if (childList.size() == 0) {
+            return new ArrayList<>();
+        }
+        return childList;
+    }
+
+    @Override
+    public Result getMenuByGroup(String groupId) {
+        /* 根据权限组读取已关联菜单 */
+        List<SysGroupMenuEntity> groupMenuEntityList = sysGroupMenuRepo.getMenuByGroup(groupId);
+        if (groupMenuEntityList.size() == 0) {
+            return new Result(10005, "当前权限组暂未关联任何菜单.", false);
+        }
+        /* 读取所有菜单 */
+        List<SysMenuEntity> allMenuList = sysMenuEntityRepository.findAll();
+        if (allMenuList.size() == 0) {
+            return new Result(10007, "当前无任何菜单.", false);
+        }
+        List<SysGroupMenuEntity> newList = new ArrayList();
+        StringBuilder idSb2 = new StringBuilder();
+
+        for (int a = 0; a < groupMenuEntityList.size(); a++) {
+            SysGroupMenuEntity groupMenuEntity = groupMenuEntityList.get(a);
+            for (SysMenuEntity menuEntity : allMenuList) {
+                if (menuEntity.getId().equals(groupMenuEntity.getMenuId())) {
+                    if (menuEntity.getParentId() == 0) {
+                        if (idSb2.length() > 0) {
+                            idSb2.append(",");
+                        }
+                        idSb2.append(groupMenuEntity.getMenuId());
+                        break;
+                    } else {
+                        boolean isChild = false;
+                        for (SysMenuEntity menuEntity2 : allMenuList) {
+                            if (menuEntity2.getParentId().equals(groupMenuEntity.getMenuId())) {
+                                isChild = true;
+                                break;
+                            }
+                        }
+                        if (!isChild) {
+                            if (idSb2.length() > 0) {
+                                idSb2.append(",");
+                            }
+                            idSb2.append(groupMenuEntity.getMenuId());
+                        }
+                        break;
+                    }
+                }
+            }
+
+        }
+
+//        StringBuilder idSb = new StringBuilder();
+//        for (SysGroupMenuEntity groupMenuEntity : groupMenuEntityList) {
+//            if (idSb.length() > 0) {
+//                idSb.append(",");
+//            }
+//            idSb.append(groupMenuEntity.getMenuId());
+//        }
+        return new Result(ResultCode.SUCCESS, idSb2.toString());
+    }
+
+    /**
+     * @param accountId
+     * @return
+     */
+    @Override
+    public Result getGroupByAccount(String accountId) {
+        /* 根据账号id读取已关联权限组 */
+        List<SysAccountGroupEntity> accountGroupEntityList = SysAccountGroupRepo.getGroupByAccount(accountId);
+        if (accountGroupEntityList.size() == 0) {
+            return new Result(10006, "当前用户账号暂未关联任何权限组.", false);
+        }
+        StringBuilder idSb = new StringBuilder();
+        for (SysAccountGroupEntity accountGroupEntity : accountGroupEntityList) {
+            if (idSb.length() > 0) {
+                idSb.append(",");
+            }
+            idSb.append(accountGroupEntity.getGroupId());
+        }
+        return new Result(ResultCode.SUCCESS, idSb.toString());
+    }
+
+    @Override
+    public Result getAccountByGroup(String groupId) {
+        /* 根据账号id读取已关联权限组 */
+        List<SysAccountGroupEntity> accountGroupEntityList = SysAccountGroupRepo.getAccountByGroup(groupId);
+        if (accountGroupEntityList.size() == 0) {
+            return new Result(10006, "当前权限组暂未关联任何用户账号.", false);
+        }
+        StringBuilder idSb = new StringBuilder();
+        for (SysAccountGroupEntity accountGroupEntity : accountGroupEntityList) {
+            if (idSb.length() > 0) {
+                idSb.append(",");
+            }
+            idSb.append(accountGroupEntity.getAccountId());
+        }
+        return new Result(ResultCode.SUCCESS, idSb.toString());
+    }
+
+    @Override
+    public List getMyMenuAll(String accountName) {
+        return sysMenuEntityRepo.getMyMenu(accountName);
+    }
+}

+ 80 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/GroupServiceImpl.java

@@ -0,0 +1,80 @@
+package com.huimv.admin.service.primary.impl;
+
+import com.huimv.admin.domain.primary.SysGroupEntity;
+import com.huimv.admin.repo.primary.SysGroupEntityRepository;
+import com.huimv.admin.repo.primary.SysGroupMenuEntityRepository;
+import com.huimv.admin.service.primary.IGroupService;
+import com.huimv.admin.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+@Service
+public class GroupServiceImpl implements IGroupService {
+
+    @Autowired
+    private SysGroupEntityRepository sysGroupEntityRepository;
+    @Autowired
+    private SysGroupMenuEntityRepository sysGroupMenuEntityRepository;
+
+    @Override
+    public Result updateGroup(Integer groupId, String groupName, String remark) {
+        try {
+            SysGroupEntity group = this.sysGroupEntityRepository.findById(groupId).orElse(null);
+            if (group == null) {
+                return new Result(10002,"请选择数据",false);
+            }
+            group.setGroupName(groupName);
+            group.setRemark(remark);
+            sysGroupEntityRepository.save(group);
+            return new Result(10000,"修改成功",true);
+        }catch (Exception e){
+            return new Result(10001,"修改失败",false);
+        }
+    }
+
+    @Override
+    @Transactional
+    public Result removeGroup(Integer groupId) {
+        try {
+            SysGroupEntity group = this.sysGroupEntityRepository.findById(groupId).orElse(null);
+            if (group == null) {
+                return new Result(10002,"请选择数据",false);
+            }
+            // 删除权限组
+            this.sysGroupEntityRepository.deleteById(groupId);
+            // 删除权限组关联菜单
+            sysGroupMenuEntityRepository.deleteByGroupId(groupId);
+            return new Result(10000,"删除成功",true);
+        }catch (Exception e){
+            return new Result(10001,"删除失败",false);
+        }
+    }
+
+    @Override
+    public Page<SysGroupEntity> listGroup(int pageNum, int pageSize, String searchStr) {
+        Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
+        if (!StringUtils.isEmpty(searchStr)) {
+            return sysGroupEntityRepository.findByGroupNameLike(searchStr, pageable);
+        }
+        return sysGroupEntityRepository.findAll(pageable);
+    }
+
+    @Override
+    public Result addGroup(String groupName, String remark) {
+        try {
+            SysGroupEntity group = new SysGroupEntity();
+            group.setGroupName(groupName);
+            group.setRemark(remark);
+            sysGroupEntityRepository.save(group);
+            return new Result(10000,"添加成功",true);
+        }catch (Exception e){
+            return new Result(10001,"添加失败",false);
+        }
+    }
+}

+ 46 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/LoginServiceImpl.java

@@ -0,0 +1,46 @@
+package com.huimv.admin.service.primary.impl;
+
+import com.huimv.admin.domain.primary.SysAccountEntity;
+import com.huimv.admin.repo.primary.SysAccountEntityRepository;
+import com.huimv.admin.service.primary.ILoginService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class LoginServiceImpl implements ILoginService {
+
+    @Autowired
+    private SysAccountEntityRepository sysAccountEntityRepo;
+
+    @Override
+    public Result login(String accountName, String password) {
+        //Step1:判断账户状态
+        //Step2:读取菜单组
+        SysAccountEntity accountEntity = sysAccountEntityRepo.findByAccountName(accountName, password);
+        if (accountEntity == null) {
+//            throw new PlatformException("The account or password is wrong.", "该账号不存在或密码错误.");
+            return new Result(10002, "账号不存在或密码错误.", false);
+        }
+        int status = accountEntity.getAccountStatus();
+        if (status == 0) {
+            return new Result(10003, "该账号未启用.", false);
+//            throw new PlatformException("10003", "该账号未启用.");
+        }
+        if (status == -1) {
+            return new Result(10004, "该账号已暂停使用.", false);
+//            throw new PlatformException("10004", "该账号已暂停使用.");
+        }
+        int accountId = accountEntity.getId();
+        System.out.println("accountId>>"+accountId);
+//        List<SysMenuEntity> menuEntityList = sysMenuEntityRepo.findByAccountId(accountId);
+//        return new Result(ResultCode.SUCCESS, menuEntityList);
+        return new Result(ResultCode.SUCCESS,accountEntity);
+    }
+
+    @Override
+    public Result logout() {
+        return null;
+    }
+}

+ 113 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/MenuServiceImpl.java

@@ -0,0 +1,113 @@
+package com.huimv.admin.service.primary.impl;
+
+import com.huimv.admin.domain.primary.SysMenuEntity;
+import com.huimv.admin.repo.primary.SysMenuEntityRepository;
+import com.huimv.admin.service.primary.IMenuService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class MenuServiceImpl implements IMenuService {
+
+    @Autowired
+    private SysMenuEntityRepository sysMenuEntityRepository;
+
+    @Override
+    public Result addMenu(SysMenuEntity menu) {
+        System.out.println(menu);
+        try {
+            if (menu == null){
+                return  new Result(10002,"参数错误",false);
+            }
+            sysMenuEntityRepository.save(menu);
+            return new Result(10000,"添加成功",true);
+        }catch (Exception e){
+            return new Result(10001,"添加失败",false);
+        }
+    }
+
+    @Override
+    public Result editMenu(SysMenuEntity menu) {
+        try {
+            if (menu.getId() == null){
+                return new Result(10002,"请选择要修改的菜单",false);
+            }
+            sysMenuEntityRepository.save(menu);
+            return new Result(10000,"修改成功",true);
+        }catch (Exception e){
+            return new Result(10001,"修改失败",false);
+        }
+
+    }
+
+    @Override
+    public Result removeMenu(Integer menuId) {
+        try {
+            List<SysMenuEntity> lists = sysMenuEntityRepository.findAllByParentId(menuId);
+            if (lists != null && lists.size()>0){
+                for (SysMenuEntity menu : lists) {
+                    removeMenu(menu.getId());
+                    sysMenuEntityRepository.delete(menu);
+                }
+            }
+            sysMenuEntityRepository.deleteById(menuId);
+        }catch (Exception e){
+            return new Result(10001,"删除失败",false);
+        }
+        return new Result(10000,"删除成功",true);
+    }
+
+   //查询菜单,只查一次数据库
+    @Override
+    public Result optimizeList() {
+        Sort sort = Sort.by(Sort.Direction.ASC, "sort");
+        List<SysMenuEntity> all = sysMenuEntityRepository.findAll(sort);
+        List list = optimizeListUtil(0,all);
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @Override
+    public List<Map> optimizeListUtil(int parentId, List<SysMenuEntity> menuEntityList){
+        List<Map> list = new ArrayList<>();
+        for (SysMenuEntity menuEntity : menuEntityList) {
+            if (menuEntity.getParentId() == parentId){
+                Map map = new HashMap();
+                map.put("id", menuEntity.getId());
+                map.put("menuName", menuEntity.getMenuName());
+                map.put("parentId", menuEntity.getParentId());
+                map.put("url", menuEntity.getUrl());
+                map.put("sort", menuEntity.getSort());
+                if (menuEntityIsChildren(menuEntity,menuEntityList) ){
+                    map.put("children",optimizeListUtil(menuEntity.getId(),menuEntityList));
+                }else {
+                    map.put("children",new ArrayList<>());
+                }
+                list.add(map);
+            }
+        }
+        return list;
+    }
+
+
+    //判断是否有children
+    private boolean menuEntityIsChildren(SysMenuEntity menuEntity, List<SysMenuEntity> menuEntityList) {
+        for (SysMenuEntity sysMenuEntity : menuEntityList) {
+            if (menuEntity.getId().equals(sysMenuEntity.getParentId()) ){
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+
+
+}

+ 45 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/ProductionDataServiceImpl.java

@@ -0,0 +1,45 @@
+package com.huimv.admin.service.primary.impl;
+
+import com.huimv.admin.domain.primary.ProductionData;
+import com.huimv.admin.repo.primary.ProductionDataEntityRepository;
+import com.huimv.admin.service.primary.IProductionDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.service.impl
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/1/4 0004 14:54
+ **/
+@Service
+public class ProductionDataServiceImpl implements IProductionDataService {
+
+    @Autowired
+    private ProductionDataEntityRepository productionDataEntityRepository;
+
+    @Override
+    public void save(ProductionData productionData) {
+        productionDataEntityRepository.save(productionData);
+    }
+
+    @Override
+    public void update(ProductionData productionData) {
+        productionDataEntityRepository.save(productionData);
+    }
+
+    @Override
+    public void delete(List<Integer> ids) {
+        for (Integer id : ids) {
+            productionDataEntityRepository.deleteById(id);
+        }
+    }
+
+    @Override
+    public List<ProductionData> findAll() {
+        return productionDataEntityRepository.findAll();
+    }
+}

+ 289 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/primary/impl/UserServiceImpl.java

@@ -0,0 +1,289 @@
+package com.huimv.admin.service.primary.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.admin.domain.primary.SysAccountEntity;
+import com.huimv.admin.domain.primary.SysUserEntity;
+import com.huimv.admin.group.UserAndAccountGroup;
+import com.huimv.admin.repo.primary.SysAccountEntityRepository;
+import com.huimv.admin.repo.primary.SysUserEntityRepository;
+import com.huimv.admin.service.primary.IUserService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import com.huimv.admin.utils.id.SnowflakeSequence;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.ArrayList;
+import java.util.List;
+
+
+@Service
+public class UserServiceImpl implements IUserService {
+    @Autowired
+    private SysUserEntityRepository sysUserEntityRepository;
+    @Autowired
+    private SysAccountEntityRepository sysAccountEntityRepository;
+
+    @Override
+    public Page<SysUserEntity> findUser(String searchStr, int pageNum, int pageSize) {
+        Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
+        if (!StringUtils.isEmpty(searchStr)) {
+            Page<SysUserEntity> userEntityList = sysUserEntityRepository.findByUserNameOOrMobile(searchStr, pageable);
+            return userEntityList;
+        }
+        System.out.println("findAll");
+        return sysUserEntityRepository.findAll(pageable);
+
+    }
+
+    public Page<SysUserEntity> findUser2(String searchStr, int pageNum, int pageSize) {
+        Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
+        Page<SysUserEntity> userPage = sysUserEntityRepository.findAll(new Specification<SysUserEntity>(){
+            @Override
+            public Predicate toPredicate(Root<SysUserEntity> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
+                List<Predicate> list = new ArrayList<Predicate>();
+                if(null != searchStr && !"".equals(searchStr)){
+                    list.add((Predicate) criteriaBuilder.equal(root.get("userName").as(String.class), searchStr));
+                }
+
+                Predicate[] p = new Predicate[list.size()];
+                return criteriaBuilder.and(list.toArray(p));
+            }
+        },pageable);
+        return userPage;
+    }
+
+    @Override
+    public JSONObject findUserAccount(String searchStr, int pageNum, int pageSize) {
+//        Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
+        int start = (pageNum-1)*pageSize;
+        System.out.println("start>>"+start);
+
+        if (!StringUtils.isEmpty(searchStr)) {
+            List<Object[]> userAccountList = sysUserEntityRepository.findUserAndAccountByUserName(searchStr, start,pageSize);
+            JSONArray userAccountJa = new JSONArray();
+            for(int a=0;a<userAccountList.size();a++){
+                Object[] userAccountObj = (Object[]) userAccountList.get(a);
+                /* 封装用户和账户关联对象 */
+                userAccountJa.add(packageUserAccountRelatedObj(userAccountObj));
+            }
+            int total = sysUserEntityRepository.countByUserName(searchStr);
+            JSONObject resultJo = new JSONObject();
+            resultJo.put("code",10001);
+            resultJo.put("totalElements",total);
+            resultJo.put("data",userAccountJa);
+            return resultJo;
+        }
+        List<Object[]> allUserAccountList = sysUserEntityRepository.findUserAndAccount(start,pageSize);
+        JSONArray allUserAccountJa = new JSONArray();
+        for(int a=0;a<allUserAccountList.size();a++){
+            Object[] userAccountObj = (Object[]) allUserAccountList.get(a);
+            /* 封装用户和账户关联对象 */
+            allUserAccountJa.add(packageUserAccountRelatedObj(userAccountObj));
+        }
+        Long total = sysUserEntityRepository.count();
+        JSONObject resultJo = new JSONObject();
+        resultJo.put("code",10001);
+        resultJo.put("totalElements",total);
+        resultJo.put("data",allUserAccountJa);
+        return resultJo;
+    }
+
+    /**
+     * 封装对象
+     */
+    private Object packageUserAccountRelatedObj(Object[] userAccountObj) {
+        JSONObject dataJo = new JSONObject();
+        dataJo.put("id",userAccountObj[0].toString());
+        dataJo.put("userName",userAccountObj[1].toString());
+        if(userAccountObj[2] == null){
+            dataJo.put("male","");
+        }else{
+            dataJo.put("male",userAccountObj[2].toString());
+        }
+        if(userAccountObj[3] == null){
+            dataJo.put("birthday","");
+        }else{
+            dataJo.put("birthday",userAccountObj[3].toString());
+        }
+        if(userAccountObj[4] == null){
+            dataJo.put("mobile","");
+        }else{
+            dataJo.put("mobile",userAccountObj[4].toString());
+        }
+        if(userAccountObj[5] == null){
+            dataJo.put("address","");
+        }else{
+            dataJo.put("address",userAccountObj[5].toString());
+        }
+        if(userAccountObj[6] == null){
+            dataJo.put("job","");
+        }else{
+            dataJo.put("job",userAccountObj[6].toString());
+        }
+        if(userAccountObj[7] == null){
+            dataJo.put("remark","");
+        }else{
+            dataJo.put("remark",userAccountObj[7].toString());
+        }
+        if(userAccountObj[8] == null)
+        {
+            dataJo.put("userId","");
+        }else{
+            dataJo.put("userId",userAccountObj[8].toString());
+        }
+        if(userAccountObj[9] == null){
+            dataJo.put("accountName","");
+        }else{
+            dataJo.put("accountName",userAccountObj[9].toString());
+        }
+        if(userAccountObj[10] == null)
+        {dataJo.put("accountStatus","");
+
+        }else{
+            dataJo.put("accountStatus", Integer.parseInt(userAccountObj[10].toString()));
+        }
+        return dataJo;
+    }
+
+    @Override
+    public JSONObject findUserAccount2(String searchStr, int pageNum, int pageSize) {
+        Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
+        System.out.println("searchStr>>"+searchStr);
+        if (!StringUtils.isEmpty(searchStr)) {
+//            List<Object[]> userAccountList = sysUserEntityRepository.findUserAndAccountByUserName(searchStr, pageable);
+            Page<SysUserEntity> userPage = sysUserEntityRepository.findUserAndAccount2(searchStr,pageable);
+
+            int total = sysUserEntityRepository.countByUserName(searchStr);
+            JSONObject resultJo = new JSONObject();
+            resultJo.put("code",10001);
+            resultJo.put("totalElements",total);
+            resultJo.put("data",userPage);
+            return resultJo;
+        }
+        System.out.println("pageable.toSting()>>"+pageable.toString());
+        Page<SysUserEntity> userPage = sysUserEntityRepository.findUserAndAccount2(searchStr,pageable);
+
+        Long total = sysUserEntityRepository.count();
+        JSONObject resultJo = new JSONObject();
+        resultJo.put("code",10001);
+        resultJo.put("totalElements",total);
+        resultJo.put("data",userPage);
+        return resultJo;
+    }
+
+
+    @Override
+    public List<UserAndAccountGroup> yxxList(String searchStr, int pageNum, int pageSize) {
+        Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
+        List<UserAndAccountGroup> list = new ArrayList<>();
+        if (searchStr != null && !"".equals(searchStr)){
+            Page<SysUserEntity> users = sysUserEntityRepository.findByUserNameOOrMobile(searchStr, pageable);
+            for (SysUserEntity user : users) {
+                SysAccountEntity account = sysAccountEntityRepository.findByUserId(user.getUserId()).get(0);
+                UserAndAccountGroup userAndAccountGroup = saveUser(user);
+                userAndAccountGroup.setAccountName(account.getAccountName());
+                userAndAccountGroup.setAccountStatus(account.getAccountStatus());
+                list.add(userAndAccountGroup);
+            }
+        }
+        Page<SysUserEntity> users = sysUserEntityRepository.findAll(pageable);
+        for (SysUserEntity user : users) {
+            SysAccountEntity account = sysAccountEntityRepository.findByUserId(user.getUserId()).get(0);
+            UserAndAccountGroup userAndAccountGroup = saveUser(user);
+            userAndAccountGroup.setAccountName(account.getAccountName());
+            userAndAccountGroup.setAccountStatus(account.getAccountStatus());
+            list.add(userAndAccountGroup);
+        }
+        return list;
+
+    }
+
+    @Override
+    public Result addUser(SysUserEntity user) {
+        try {
+            SnowflakeSequence idWorker = new SnowflakeSequence();
+            long userId = idWorker.nextId();
+            // 添加用户信息
+            user.setUserId(userId);
+            sysUserEntityRepository.save(user);
+
+            // 添加账号信息
+            String mobile = user.getMobile();
+            String userName = user.getUserName();
+            SysAccountEntity sysAccountEntity = new SysAccountEntity();
+            if (mobile != null && !"".equals(mobile) ){
+                sysAccountEntity.setAccountName(mobile);
+            }else if (userName != null && !"".equals(userName)){
+                sysAccountEntity.setAccountName(userName);
+            }
+            sysAccountEntity.setAccountStatus(0);
+            sysAccountEntity.setRemark("");
+//            sysAccountEntity.setPassword(GetMD5Str.getMD5Str("123456"));
+            sysAccountEntity.setPassword("123456");
+            sysAccountEntity.setUserId(userId);
+            sysAccountEntityRepository.save(sysAccountEntity);
+            return new Result(10000,"修改成功",true);
+        }catch (Exception e){
+             return new Result(10001,"添加失败",false);
+        }
+    }
+
+    @Override
+    public Result updateUser(SysUserEntity user) {
+        try {
+            if (user == null) {
+                return  new Result(ResultCode.FAIL);
+            }
+            sysUserEntityRepository.save(user);
+            return new Result(10000,"修改成功",true);
+        }catch (Exception e){
+            return new Result(10001,"修改失败",false);
+        }
+    }
+
+    @Override
+    public Result removeUser(List<Integer> userIds) {
+        for (Integer userId : userIds) {
+            try {
+                SysUserEntity user = this.sysUserEntityRepository.findById(userId).orElse(null);
+                if (user == null) {
+                    return new Result(10002,"请选择数据",false);
+                }
+                this.sysUserEntityRepository.deleteById(userId);
+                // 删除账号
+                this.sysAccountEntityRepository.deleteByUserId(user.getUserId());
+            }catch (Exception e){
+                return new Result(10001,"删除失败",false);
+            }
+        }
+        return new Result(10000,"删除成功",false);
+    }
+
+    private UserAndAccountGroup saveUser(SysUserEntity user) {
+        UserAndAccountGroup userAndAccountGroup = new UserAndAccountGroup();
+        userAndAccountGroup.setAddress(user.getAddress());
+        userAndAccountGroup.setBirthday(user.getBirthday());
+        userAndAccountGroup.setId(user.getId());
+        userAndAccountGroup.setJob(user.getJob());
+        userAndAccountGroup.setMale(user.getMale());
+        userAndAccountGroup.setMobile(user.getMobile());
+        userAndAccountGroup.setRemark(user.getRemark());
+        userAndAccountGroup.setUserId(user.getUserId());
+        userAndAccountGroup.setUserName(user.getUserName());
+        return userAndAccountGroup;
+    }
+
+
+}

+ 23 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/DaLqdaService.java

@@ -0,0 +1,23 @@
+package com.huimv.admin.service.secondary;
+
+
+import com.huimv.admin.domain.secondary.DaLqda;
+import com.huimv.admin.utils.Result;
+
+public interface DaLqdaService  {
+
+   //添加
+   Result add(DaLqda entity);
+
+   //添加
+   Result remove(Integer[] ids);
+
+   //添加
+   Result update(DaLqda entity);
+
+   //查询
+  Result findAll(String name, Integer pageNum, Integer pageSize);
+
+   //根据id查找
+   Result findAllById(Integer id);
+}

+ 23 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/DaZsdaService.java

@@ -0,0 +1,23 @@
+package com.huimv.admin.service.secondary;
+
+
+import com.huimv.admin.domain.secondary.DaZsda;
+import com.huimv.admin.utils.Result;
+
+public interface DaZsdaService {
+
+   //添加
+   Result add(DaZsda entity);
+
+   //添加
+   Result remove(Integer[] ids);
+
+   //添加
+   Result update(DaZsda entity);
+
+   //查询
+  Result findAll(String name, Integer pageNum, Integer pageSize);
+
+   //根据id查找
+   Result findAllById(Integer id);
+}

+ 14 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/IDpSjlrSyService.java

@@ -0,0 +1,14 @@
+package com.huimv.admin.service.secondary;
+
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.service.secondary
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/1/12 0012 11:18
+ **/
+public interface IDpSjlrSyService {
+    Map find();
+}

+ 53 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/MachineControlService.java

@@ -0,0 +1,53 @@
+package com.huimv.admin.service.secondary;
+
+import com.huimv.admin.dto.MachineControlDTO;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.vo.MachineControlVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author yinhao
+ * @Date 2021/4/1 17:46
+ * @Description 料控管理Service Interface
+ */
+public interface MachineControlService {
+
+//    /**
+//     * 根据机器id查询料机信息
+//     * @param zsId
+//     * @return
+//     */
+//    Result listByZsId(Integer zsId);
+
+    /**
+     * 根据机器id保存或修改料机信息
+     * @param machineControlDTO
+     * @return
+     */
+    void save(MachineControlDTO machineControlDTO);
+
+    /**
+     * 分页条件列表查询
+     * @param pageNum
+     * @param pageSize
+     * @param keyword
+     * @return
+     */
+    Map<String,Object> list(Integer pageNum, Integer pageSize, String keyword);
+
+
+    /**
+     * 根据id删除
+     * @param id
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 新增时选择猪舍的下拉框
+     * @return
+     */
+    List<Map<String,Object>> selectBox4add();
+
+}

+ 123 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/DaLqdaServiceImpl.java

@@ -0,0 +1,123 @@
+package com.huimv.admin.service.secondary.impl;
+
+
+import com.huimv.admin.domain.secondary.DaLqda;
+import com.huimv.admin.domain.secondary.DaZsda;
+import com.huimv.admin.repo.secondary.DaLqdaRepository;
+import com.huimv.admin.repo.secondary.DaZsdaRepository;
+import com.huimv.admin.service.secondary.DaLqdaService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.baomidou.dynamic.datasource.annotation.DS;
+
+
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Optional;
+
+@Service
+@DS("thired")
+public class DaLqdaServiceImpl implements DaLqdaService {
+
+	@Autowired
+	private DaLqdaRepository rep;
+
+	@Autowired
+	private DaZsdaRepository  daZsdaRepository;
+
+	@Override
+	public Result add(DaLqda entity){
+		if (entity == null){
+			return new Result(ResultCode.FAIL);
+		}
+		//try {    //同时更新猪舍档案   添加数据
+
+			rep.save(entity);
+
+
+			//存储结束 获取最新一条
+			DaLqda daLqda = rep.findlast();
+			Integer ids = daLqda.getId();
+			Integer zsid = daLqda.getZsid();
+			//查找到猪舍档案,存储当前栏期
+			DaZsda daZsda = daZsdaRepository.findById(zsid).get();
+			daZsda.setDqlq(ids+"");
+			daZsdaRepository.save(daZsda);
+
+			/*entity.setMcid(11);
+			Integer  id = rep.findMax().get(0);
+			entity.setXgsj(new Date());
+			DaJqda daJqda =new DaJqda() ;
+			daJqda.setZSID(id);
+			jqdaRepo.save(daJqda);
+			rep.save(entity);*/
+
+			return new Result(ResultCode.SUCCESS);
+		//}catch (Exception e){
+			//return new Result(ResultCode.FAIL);
+		//}
+	}
+
+
+	@Override
+	public Result remove(Integer[] ids) {
+		if (ids == null || ids.length==0){
+			return new Result(ResultCode.FAIL);
+		}
+		try {
+			for (Integer id : ids) {
+				rep.deleteById(id);
+			}
+			return new Result(ResultCode.SUCCESS);
+		}catch (Exception e){
+			return new Result(ResultCode.FAIL);
+		}
+	}
+
+	@Override
+	public Result update(DaLqda entity) {
+		if (entity == null){
+			return new Result(ResultCode.FAIL);
+		}
+		try {
+		//entity.setMcid(11);
+		//entity.setXgsj(new Date());
+			rep.save(entity);
+			return new Result(ResultCode.SUCCESS);
+		}catch (Exception e){
+			return new Result(ResultCode.FAIL);
+		}
+	}
+
+	@Override
+	public Result findAll(String name ,Integer pageNum , Integer pageSize) {
+		try {
+			Map map = new HashMap();
+			int size = rep.findAll().size() ;
+			Integer startPage = (pageNum-1) * pageSize;
+			List<DaLqda> all = rep.findAll(name,startPage,pageSize);
+			map.put("total",size);
+			map.put("totalPageNum",(size  +  pageSize  - 1) / pageSize);
+			map.put("data",all);
+
+			return new Result(ResultCode.SUCCESS,map);
+		}catch (Exception e){
+			return new Result(ResultCode.FAIL);
+		}
+	}
+
+
+
+	@Override
+	public Result findAllById(Integer id) {
+		try {
+			DaLqda entity = rep.findById(id).get();
+			return new Result(ResultCode.SUCCESS);
+		}catch (Exception e){
+			return new Result(ResultCode.FAIL);
+		}
+	}
+}

+ 180 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/DaZsdaServiceImpl.java

@@ -0,0 +1,180 @@
+package com.huimv.admin.service.secondary.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.huimv.admin.domain.secondary.DaJqda;
+import com.huimv.admin.domain.secondary.DaLqda;
+import com.huimv.admin.domain.secondary.DaZsda;
+import com.huimv.admin.repo.secondary.DaJqdaRepo;
+import com.huimv.admin.repo.secondary.DaLqdaRepository;
+import com.huimv.admin.repo.secondary.DaZsdaRepository;
+import com.huimv.admin.service.secondary.DaZsdaService;
+import com.huimv.admin.utils.Result;
+import com.huimv.admin.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+@Service
+@DS("thired")
+public class DaZsdaServiceImpl implements DaZsdaService {
+
+	@Autowired
+	private DaZsdaRepository rep;
+
+	@Autowired
+	private DaJqdaRepo jqdaRepo;
+
+	@Autowired
+	private DaLqdaRepository lqdaRep;
+
+	@Value("${MCID}")
+	private  Integer MCID ;
+
+
+	@Override
+	public Result add(DaZsda entity){
+		if (entity == null){
+
+			return new Result(ResultCode.FAIL);
+		}
+//		try {
+
+		entity.setMcid(MCID);
+
+		entity.setZfbz(0);
+		entity.setXgsj(new Date());
+		rep.save(entity);
+
+
+		DaJqda daJqda1 = jqdaRepo.findMax().get(0);
+
+		String jqid = "000"+(Integer.parseInt(daJqda1.getJQID())+1);
+		DaJqda daJqda =new DaJqda() ;
+		Integer  id = rep.findMax().get(0);
+		daJqda.setZSID(id);
+		daJqda.setJQID(jqid);
+		daJqda.setXGSJ(new Date());
+		daJqda.setZFBZ(0);
+		jqdaRepo.save(daJqda);
+
+
+		return new Result(ResultCode.SUCCESS);
+
+
+
+
+//		}catch (Exception e){
+//			return new Result(ResultCode.FAIL);
+//		}
+	}
+
+
+
+	@Override
+	public Result remove(Integer[] ids) {
+		if (ids == null || ids.length==0){
+			return new Result(ResultCode.FAIL);
+		}
+		try {
+			for (Integer id : ids) {
+				rep.deleteById(id);
+			}
+			return new Result(ResultCode.SUCCESS);
+		}catch (Exception e){
+			return new Result(ResultCode.FAIL);
+		}
+	}
+
+	@Override
+	public Result update(DaZsda entity) {
+		if (entity == null){
+			return new Result(ResultCode.FAIL);
+		}
+		try {
+			entity.setMcid(MCID);
+			entity.setXgsj(new Date());
+			entity.setZfbz(0);
+			rep.save(entity);
+			return new Result(ResultCode.SUCCESS);
+		}catch (Exception e){
+			return new Result(ResultCode.FAIL);
+		}
+	}
+
+	@Override
+	public Result findAll(String name , Integer pageNum , Integer pageSize) {
+//		try {
+			Map map = new HashMap();
+			int size = rep.findAlla().size() ;
+			Integer startPage = (pageNum-1) * pageSize;
+			List<DaZsda> all ;
+			if (name != null && !name.equals("")){
+				size = rep.findAllc(name);
+				all= rep.findAll(name,startPage,pageSize);
+			}else {
+				 all = rep.findAllb(startPage,pageSize);
+			}
+
+			map.put("total",size);
+			map.put("totalPageNum",(size  +  pageSize  - 1) / pageSize);
+
+			List list = new ArrayList();
+			for (DaZsda daZsda : all) {
+				Map map1 = new HashMap();
+				Integer id = daZsda.getId();
+				map1.put("id",id);
+				map1.put("csq1",daZsda.getCsq1());
+				map1.put("csq2",daZsda.getCsq2());
+//				lqdaRep.findById(daZsda.getDqlq());
+				String dqlq = daZsda.getDqlq();
+				map1.put("dqlq",dqlq);
+				if (dqlq != null && !dqlq.equals("")){
+					map1.put("dqlq",lqdaRep.findBy(Integer.parseInt(dqlq)));
+				}
+
+
+				map1.put("flq",daZsda.getFlq());
+				map1.put("gly",daZsda.getGly());
+				map1.put("glyxm",daZsda.getGlyxm());
+				map1.put("hkbz",daZsda.getHkbz());
+				map1.put("lcbz",daZsda.getLcbz());
+				map1.put("mcid",daZsda.getMcid());
+				map1.put("spjk",daZsda.getSpjk());
+				map1.put("xgr",daZsda.getXgr());
+				map1.put("xgsj",(daZsda.getXgsj()+"").substring(0,10));
+				map1.put("yzjd",daZsda.getYzjd());
+				map1.put("zdbz",daZsda.getZdbz());
+				map1.put("zfbz",daZsda.getZfbz());
+				map1.put("zsbz",daZsda.getZsbz());
+				map1.put("zsmc",daZsda.getZsmc());
+				map1.put("zsqy",daZsda.getZsqy());
+				map1.put("ssqy",daZsda.getSsqy());
+				map1.put("dqlqId",dqlq);
+				List<DaJqda> allByZSID = jqdaRepo.findAllByZSID(id);
+				if (allByZSID != null && allByZSID.size()>0){
+					map1.put("jqid",allByZSID.get(0).getJQID());
+				}else {
+					map1.put("jqid",null);
+				}
+
+				list.add(map1);
+			}
+			map.put("data",list);
+			return new Result(ResultCode.SUCCESS,map);
+//		}catch (Exception e){
+//			return new Result(ResultCode.FAIL);
+//		}
+	}
+
+	@Override
+	public Result findAllById(Integer id) {
+		try {
+			DaZsda entity = rep.findById(id).get();
+			return new Result(ResultCode.SUCCESS);
+		}catch (Exception e){
+			return new Result(ResultCode.FAIL);
+		}
+	}
+}

+ 37 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/IDpSjlrSyServiceImpl.java

@@ -0,0 +1,37 @@
+package com.huimv.admin.service.secondary.impl;
+
+import com.huimv.admin.domain.secondary.DpSjlrSy;
+import com.huimv.admin.repo.secondary.DpSjlrSyRepo;
+import com.huimv.admin.service.secondary.IDpSjlrSyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.admin.service.secondary.impl
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/1/12 0012 11:18
+ **/
+@Service
+public class IDpSjlrSyServiceImpl implements IDpSjlrSyService {
+
+    @Autowired
+    private DpSjlrSyRepo dpSjlrSyRepo;
+
+    @Override
+    public Map find() {
+        List<DpSjlrSy> allByMCID = dpSjlrSyRepo.findAllByMCID(39);
+        Map map = new HashMap();
+        map.put("存栏种猪",allByMCID.get(0).getCLSJZZ());
+        map.put("保育存栏",allByMCID.get(0).getCLSJBYZ());
+        map.put("育肥存栏",allByMCID.get(0).getCLSJYFZ());
+
+        return map;
+    }
+}

+ 99 - 0
shiwan/admin/src/main/java/com/huimv/admin/service/secondary/impl/MachineControlServiceImpl.java

@@ -0,0 +1,99 @@
+package com.huimv.admin.service.secondary.impl;
+
+import com.huimv.admin.domain.secondary.MachineControlEntity;
+import com.huimv.admin.dto.MachineControlDTO;
+import com.huimv.admin.repo.secondary.MachineControlRepository;
+import com.huimv.admin.service.secondary.MachineControlService;
+import com.huimv.admin.vo.MachineControlVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author yinhao
+ * @Date 2021/4/1 17:54
+ * @Description 料控管理Service
+ */
+@Service
+public class MachineControlServiceImpl implements MachineControlService {
+
+    @Autowired
+    private MachineControlRepository machineControlRepository;
+
+//    @Autowired
+//    private DaJqdaRepository daJqdaRepository;
+
+//    @Override
+//    public Result listByZsId(Integer zsId) {
+//        String jqId = daJqdaRepository.findJQIDByZSID(zsId);
+//        MachineControlEntity machineControlEntity = machineControlRepository.findByJqid(jqId);
+//        return new Result(ResultCode.SUCCESS, machineControlEntity);
+//    }
+
+    @Override
+    public void save(MachineControlDTO machineControlDTO) {
+        boolean isAdd = null == machineControlDTO.getId();
+        saveOrUpdateMachineControl(isAdd, machineControlDTO);
+    }
+
+    public void saveOrUpdateMachineControl(boolean isAdd, MachineControlDTO machineControlDTO) {
+
+        MachineControlEntity machineControlEntity = new MachineControlEntity();
+        machineControlEntity.setNo1DlstartTime1(machineControlDTO.getNo1DlstartTime1());
+        machineControlEntity.setNo1DlstartTime2(machineControlDTO.getNo1DlstartTime2());
+        machineControlEntity.setNo1DlstartTime3(machineControlDTO.getNo1DlstartTime3());
+        machineControlEntity.setNo1DlstartTime4(machineControlDTO.getNo1DlstartTime4());
+        machineControlEntity.setNo2DlstartTime1(machineControlDTO.getNo2DlstartTime1());
+        machineControlEntity.setNo2DlstartTime2(machineControlDTO.getNo2DlstartTime2());
+        machineControlEntity.setNo2DlstartTime3(machineControlDTO.getNo2DlstartTime3());
+        machineControlEntity.setNo2DlstartTime4(machineControlDTO.getNo2DlstartTime4());
+        machineControlEntity.setNo3DlstartTime1(machineControlDTO.getNo3DlstartTime1());
+        machineControlEntity.setNo3DlstartTime2(machineControlDTO.getNo3DlstartTime2());
+        machineControlEntity.setNo3DlstartTime3(machineControlDTO.getNo3DlstartTime3());
+        machineControlEntity.setNo3DlstartTime4(machineControlDTO.getNo3DlstartTime4());
+        machineControlEntity.setNo4DlstartTime1(machineControlDTO.getNo4DlstartTime1());
+        machineControlEntity.setNo4DlstartTime2(machineControlDTO.getNo4DlstartTime2());
+        machineControlEntity.setNo4DlstartTime3(machineControlDTO.getNo4DlstartTime3());
+        machineControlEntity.setNo4DlstartTime4(machineControlDTO.getNo4DlstartTime4());
+        machineControlEntity.setJqId(machineControlDTO.getJqid());
+
+        if (isAdd) {
+            machineControlRepository.saveAndFlush(machineControlEntity);
+            return;
+        }
+
+        machineControlEntity.setId(machineControlDTO.getId());
+        machineControlRepository.save(machineControlEntity);
+
+    }
+
+    @Override
+    public Map<String, Object> list(Integer pageNum, Integer pageSize, String keyword) {
+        Map<String, Object> map = new HashMap<>(16);
+        if (keyword == null) {
+            keyword = "";
+        }
+        Long totalSize = machineControlRepository.countTotalSize(keyword);
+        map.put("totalSize", totalSize);
+        map.put("totalPageNum", (totalSize + pageSize - 1) / pageSize);
+        Integer start = (pageNum - 1) * pageSize;
+        List<Map> machineControlInfoList = machineControlRepository.getMachineControlInfo(start, pageSize, keyword);
+        map.put("data", machineControlInfoList);
+        return map;
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        machineControlRepository.deleteById(id);
+    }
+
+    @Override
+    public List<Map<String,Object>> selectBox4add() {
+        return machineControlRepository.selectZsList();
+    }
+
+
+}

+ 77 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/AccessToken.java

@@ -0,0 +1,77 @@
+package com.huimv.admin.session;
+
+import java.util.Date;
+
+/**
+ * 登录的token信息
+ * @author guojian
+ */
+public class AccessToken {
+    private String token;
+    private String loginIp;
+    private Date created;
+    private String accountName;
+    private Integer code;
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    private String message;
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getAccountName() {
+        return accountName;
+    }
+
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+	public String getLoginIp() {
+		return loginIp;
+	}
+
+	public void setLoginIp(String loginIp) {
+		this.loginIp = loginIp;
+	}
+
+    @Override
+    public String toString() {
+        return "AccessToken{" +
+                "token='" + token + '\'' +
+                ", loginIp='" + loginIp + '\'' +
+                ", created=" + created +
+                ", accountName='" + accountName + '\'' +
+                ", code=" + code +
+                ", message='" + message + '\'' +
+                '}';
+    }
+}

+ 52 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/HmSession.java

@@ -0,0 +1,52 @@
+package com.huimv.admin.session;
+
+import com.huimv.admin.domain.primary.MemberAccount;
+import com.huimv.admin.domain.primary.OrganizeInfo;
+import com.huimv.admin.domain.primary.SysAccountEntity;
+
+import java.io.Serializable;
+
+/**
+ * 自定义的session存储结构
+ * @author guojian
+ */
+public class HmSession implements Serializable {
+
+    private MemberAccount memberAccount;
+
+    private OrganizeInfo organizeInfo;
+    private SysAccountEntity accountEntity;
+
+    public MemberAccount getMemberAccount() {
+        return memberAccount;
+    }
+
+    public void setMemberAccount(MemberAccount memberAccount) {
+        this.memberAccount = memberAccount;
+    }
+
+    @Override
+    public String toString() {
+        return "HmSession{" +
+                "memberAccount=" + memberAccount +
+                ", organizeInfo=" + organizeInfo +
+                ", accountEntity=" + accountEntity +
+                '}';
+    }
+
+    public OrganizeInfo getOrganizeInfo() {
+        return organizeInfo;
+    }
+
+    public void setOrganizeInfo(OrganizeInfo organizeInfo) {
+        this.organizeInfo = organizeInfo;
+    }
+
+    public SysAccountEntity getAccountEntity() {
+        return accountEntity;
+    }
+
+    public void setAccountEntity(SysAccountEntity accountEntity) {
+        this.accountEntity = accountEntity;
+    }
+}

+ 64 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/PlatformHttpSessionIdResolver.java

@@ -0,0 +1,64 @@
+package com.huimv.admin.session;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.session.web.http.HttpSessionIdResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author yejijie
+ * @created 2020年7月16日 上午9:35:46
+*/
+@Slf4j
+public class PlatformHttpSessionIdResolver implements HttpSessionIdResolver {
+
+	private static final String PLATFORM_AUTH_TOKEN = "x-auth-token";
+	private final String tokenName;
+	private String paramName;
+	
+	public static PlatformHttpSessionIdResolver authToken() {
+		return new PlatformHttpSessionIdResolver(PLATFORM_AUTH_TOKEN);
+	}
+	
+	public PlatformHttpSessionIdResolver(String tokenName) {
+		if (tokenName == null) {
+			throw new IllegalArgumentException("headerName cannot be null");
+		}
+		this.tokenName = tokenName;
+		this.paramName = tokenName;
+	}
+	
+	public void setParamName(String paramName) {
+		this.paramName = paramName;
+	}
+
+	@Override
+	public List<String> resolveSessionIds(HttpServletRequest request) {
+		String headerValue = request.getHeader(this.tokenName);
+		log.info("header auth->"+headerValue);
+		if(headerValue != null)
+			return Collections.singletonList(headerValue);
+		//处理其他方式
+		String paramValue = request.getParameter(this.paramName);
+		log.info("param auth->"+paramValue);
+		if(paramValue != null)
+			return Collections.singletonList(paramValue);
+		return Collections.emptyList();
+	}
+
+	@Override
+	public void setSessionId(HttpServletRequest request, HttpServletResponse response, String sessionId) {
+
+		response.setHeader(this.tokenName, sessionId);
+	}
+
+	@Override
+	public void expireSession(HttpServletRequest request, HttpServletResponse response) {
+
+		response.setHeader(this.tokenName, "");
+	}
+
+}

+ 58 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/PlatformWebSessionIdResolver.java

@@ -0,0 +1,58 @@
+package com.huimv.admin.session;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpHeaders;
+import org.springframework.util.Assert;
+import org.springframework.web.server.ServerWebExchange;
+import org.springframework.web.server.session.WebSessionIdResolver;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author yejijie
+ * @created 2020年7月29日 下午2:27:21
+*/
+@Slf4j
+public class PlatformWebSessionIdResolver implements WebSessionIdResolver {
+
+	private static final String PLATFORM_HEADER_TOKEN = "x-auth-token";
+	private static final String PLATFORM_URL_TOKEN = "token";
+	private final String urlName;
+	private String headerName;
+
+	public static PlatformWebSessionIdResolver authToken() {
+		return new PlatformWebSessionIdResolver(PLATFORM_HEADER_TOKEN,PLATFORM_URL_TOKEN);
+	}
+	
+	public PlatformWebSessionIdResolver(String headerToken, String urlToken) {
+		Assert.hasText(headerToken, "'headerToken' must not be empty");
+		Assert.hasText(urlToken, "'urlToken' must not be empty");
+		this.urlName = urlToken;
+		this.headerName = headerToken;
+	}
+
+	@Override
+	public List<String> resolveSessionIds(ServerWebExchange exchange) {
+		HttpHeaders headers = exchange.getRequest().getHeaders();
+		List<String> headerValues = headers.getOrDefault(this.headerName, null);
+		log.info("header auth->"+(headerValues== null? null:headerValues.get(0)));
+		if(headerValues != null)
+			return headerValues;
+		//处理其他方式
+		List<String> paramValues = exchange.getRequest().getQueryParams().getOrDefault(this.urlName, Collections.emptyList());
+		log.info("url auth->"+(paramValues.size() == 0? null:paramValues.get(0)));
+		return paramValues;
+	}
+
+	@Override
+	public void setSessionId(ServerWebExchange exchange, String sessionId) {
+		exchange.getResponse().getHeaders().set(this.headerName, sessionId);
+	}
+
+	@Override
+	public void expireSession(ServerWebExchange exchange) {
+		exchange.getResponse().getHeaders().set(this.headerName, "");
+	}
+
+}

+ 37 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/SessionBase.java

@@ -0,0 +1,37 @@
+package com.huimv.admin.session;
+
+//import com.huimv.core.domain.MemberAccount;
+//import com.huimv.core.domain.OrganizeInfo;
+//import com.huimv.exception.PlatformException;
+//import com.huimv.exception.constant.ExceptionConstant;
+
+/**
+ * @author yejijie
+ * @created 2020年8月5日 上午8:29:26
+*/
+public class SessionBase {
+
+//    protected OrganizeInfo getCurrentOrgInfo(){
+//
+//        OrganizeInfo organizeInfo = SessionHolder.getOrganizeInfo();
+//        if(organizeInfo == null){
+//            throw new PlatformException(ExceptionConstant.ORG_NOT_AUTHORIZE, "无法解析组织信息");
+//        }
+//        return organizeInfo;
+//    }
+//    protected Integer getCurrOrgId() {
+//    	OrganizeInfo org = this.getCurrentOrgInfo();
+//    	return org.getId();
+//    }
+//    protected MemberAccount getCurrentAccInfo(){
+//        MemberAccount memberAccount = SessionHolder.getMemberAccount();
+//        if(memberAccount == null){
+//            throw new PlatformException(ExceptionConstant.ACCOUNT_NOT_AUTHORIZE, "无法解析账户信息");
+//        }
+//        return memberAccount;
+//    }
+//    protected Integer getCurrMemberId() {
+//    	MemberAccount memberAccount = this.getCurrentAccInfo();
+//    	return memberAccount.getId();
+//    }
+}

+ 31 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/SessionHolder.java

@@ -0,0 +1,31 @@
+package com.huimv.admin.session;
+
+//import com.huimv.core.domain.MemberAccount;
+//import com.huimv.core.domain.OrganizeInfo;
+
+/**
+ * @author yejijie
+ * @created 2020年8月4日 下午7:56:20
+*/
+public class SessionHolder {
+
+//	private final static ThreadLocal<OrganizeInfo> _organizeInfo = new ThreadLocal<>();
+//	private final static ThreadLocal<MemberAccount> _memberAccount = new ThreadLocal<>();
+//	public static OrganizeInfo getOrganizeInfo() {
+//		return _organizeInfo.get();
+//	}
+//	public static MemberAccount getMemberAccount() {
+//		return _memberAccount.get();
+//	}
+//
+//	public static void setOrganizeInfo(OrganizeInfo organizeInfo) {
+//		_organizeInfo.set(organizeInfo);
+//	}
+//	public static void setMemberAccount(MemberAccount memberAccount) {
+//		_memberAccount.set(memberAccount);
+//	}
+//	public static void removeAll() {
+//		_organizeInfo.remove();
+//		_memberAccount.remove();
+//	}
+}

+ 9 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/config/ApiToken.java

@@ -0,0 +1,9 @@
+package com.huimv.admin.session.config;
+
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE, ElementType.METHOD})
+@Documented
+public @interface ApiToken {
+}

+ 29 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/config/AppTokenConfiguration.java

@@ -0,0 +1,29 @@
+package com.huimv.admin.session.config;
+
+//import com.huimv.session.WebApiInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class AppTokenConfiguration implements WebMvcConfigurer {
+
+//    @Bean
+//    public WebApiInterceptor webApiInterceptor() {
+//        return new WebApiInterceptor();
+//    }
+//
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        //多个拦截器组成一个拦截器链
+        //addPathPattern 用于添加拦截规则 路径,是带api接口的
+        //用于定义、排除用户的拦截
+        registry.addInterceptor(new WebApiInterceptor())
+                .addPathPatterns("/**");
+//                .excludePathPatterns(
+//                		"/my/login",
+//                        "/my/logout");
+    }
+
+}

+ 80 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/config/WebApiInterceptor.java

@@ -0,0 +1,80 @@
+package com.huimv.admin.session.config;
+
+import com.huimv.admin.exception.PlatformException;
+import com.huimv.admin.exception.constant.ExceptionConstant;
+import com.huimv.admin.session.HmSession;
+import com.huimv.admin.session.SessionHolder;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.lang.reflect.Method;
+
+@Slf4j
+public class WebApiInterceptor extends HandlerInterceptorAdapter {
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+
+        if (!(handler instanceof HandlerMethod)) {
+            return true;
+        }
+
+        HttpSession session = request.getSession();
+        String sessionId = session.getId();
+        System.out.println("admin拦截器 sessionId>>"+sessionId);
+//        if (sessionId == null) {
+//            System.out.println("0000000000000");
+//            log.info("session:{}",session);
+//            log.info("session id is null");
+//            throw new PlatformException(ExceptionConstant.REQUEST_NOT_AUTHORIZE, "未找到授权信息00000");
+//        }
+
+        final HandlerMethod handlerMethod = (HandlerMethod) handler;
+        final Class<?> clazz = handlerMethod.getBeanType();
+        final Method method = handlerMethod.getMethod();
+        if (clazz.isAnnotationPresent(ApiToken.class) || method.isAnnotationPresent(ApiToken.class)) {
+            log.info("BeanType:{}",clazz.getName());
+            HmSession hmSession = (HmSession) session.getAttribute("hmSession");
+            if(hmSession == null){
+                throw new PlatformException(ExceptionConstant.REQUEST_NOT_AUTHORIZE, "未找到授权信息");
+            }
+//            if(hmSession.getMemberAccount() == null){
+//                throw new PlatformException(ExceptionConstant.ACCOUNT_NOT_AUTHORIZE, "未找到账户信息");
+//            }
+//            if(hmSession.getOrganizeInfo() == null){
+//                throw new PlatformException(ExceptionConstant.ORG_NOT_AUTHORIZE, "未找到组织信息");
+//            }
+
+            //设置请求参数,api只要接受就好,也不用做二次校验:
+            //HashMap newParam = new HashMap(request.getParameterMap());
+            //newParam.put("memberAccount", hmSession.getMemberAccount());
+            //newParam.put("organizeInfo", hmSession.getOrganizeInfo());
+            //request = new ParameterRequestWrapper(request, newParam);
+
+            //Map<String, String[]> parameterMap = new HashMap(request.getParameterMap());
+
+//            request.setAttribute("memberAccount", hmSession.getMemberAccount());
+//            request.setAttribute("organizeInfo", hmSession.getOrganizeInfo());
+//            SessionHolder.setMemberAccount(hmSession.getMemberAccount());
+//            SessionHolder.setOrganizeInfo(hmSession.getOrganizeInfo());
+        }
+
+        return true;
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) {
+    }
+
+    //方法执行之后拦截
+    @Override
+    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
+    	//log.info("释放一下,防止线程复用",SessionHolder.getOrganizeInfo());
+//    	SessionHolder.removeAll();
+    }
+}

+ 65 - 0
shiwan/admin/src/main/java/com/huimv/admin/session/reuqest/ParameterRequestWrapper.java

@@ -0,0 +1,65 @@
+package com.huimv.admin.session.reuqest;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Vector;
+
+
+/**
+ * 该类用于改写request.getParameterNames里的值
+ * 使用方法:HashMap newParam=new HashMap(request.getParameterMap());
+ *          ParameterRequestWrapper wrapRequest=new ParameterRequestWrapper(request,newParam);
+ *
+ * @author guojian
+ */
+public class ParameterRequestWrapper extends HttpServletRequestWrapper {
+
+    private Map params;
+
+    public ParameterRequestWrapper(HttpServletRequest request, Map newParams) {
+        super(request);
+        this.params = newParams;
+    }
+
+    public Map getParameterMap() {
+        return params;
+    }
+
+    public Enumeration getParameterNames() {
+        Vector l = new Vector(params.keySet());
+        return l.elements();
+    }
+
+    public String[] getParameterValues(String name) {
+        Object v = params.get(name);
+        if (v == null) {
+            return null;
+        } else if (v instanceof String[]) {
+            return (String[]) v;
+        } else if (v instanceof String) {
+            return new String[] { (String) v };
+        } else {
+            return new String[] { v.toString() };
+        }
+    }
+
+    public String getParameter(String name) {
+        Object v = params.get(name);
+        if (v == null) {
+            return null;
+        } else if (v instanceof String[]) {
+            String[] strArr = (String[]) v;
+            if (strArr.length > 0) {
+                return strArr[0];
+            } else {
+                return null;
+            }
+        } else if (v instanceof String) {
+            return (String) v;
+        } else {
+            return v.toString();
+        }
+    }
+}

+ 30 - 0
shiwan/admin/src/main/java/com/huimv/admin/task/ScheduledTask.java

@@ -0,0 +1,30 @@
+package com.huimv.admin.task;
+
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+
+@Component
+public class ScheduledTask {
+
+    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+    private Integer count0 = 1;
+    private Integer count1 = 1;
+    private Integer count2 = 1;
+
+    @Scheduled(fixedRate = 5000)
+    public void reportCurrentTime() throws InterruptedException {
+//        System.out.println(String.format("---第%s次执行,当前时间为:%s", count0++, dateFormat.format(new Date())));
+    }
+
+    @Scheduled(fixedDelay = 5000)
+    public void reportCurrentTimeAfterSleep() throws InterruptedException {
+//        System.out.println(String.format("===第%s次执行,当前时间为:%s", count1++, dateFormat.format(new Date())));
+    }
+
+    @Scheduled(cron = "0 0 1 * * *")
+    public void reportCurrentTimeCron() throws InterruptedException {
+//        System.out.println(String.format("+++第%s次执行,当前时间为:%s", count2++, dateFormat.format(new Date())));
+    }
+}

+ 100 - 0
shiwan/admin/src/main/java/com/huimv/admin/utils/CheckNumber.java

@@ -0,0 +1,100 @@
+package com.huimv.admin.utils;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Random;
+
+public class CheckNumber {
+    private int w = 70;//验证码图片宽
+    private int h = 35;//验证码图片高
+    private Random r = new Random();//随机对象
+    // {"宋体", "华文楷体", "黑体", "华文新魏", "华文隶书", "微软雅黑", "楷体_GB2312"}
+    private String[] fontNames = {"宋体", "华文楷体", "黑体", "微软雅黑", "楷体_GB2312"};
+    // 可选字符
+    private String codes = "0123456789abcdefghjkmnopqrstuvwxyz";
+    // 背景色
+    private Color bgColor = new Color(255, 255, 255);
+    // 验证码上的文本
+    private String text;
+
+    // 生成随机的颜色
+    private Color randomColor() {
+        int red = r.nextInt(150);
+        int green = r.nextInt(150);
+        int blue = r.nextInt(150);
+        return new Color(red, green, blue);
+    }
+
+    // 生成随机的字体
+    private Font randomFont() {
+        int index = r.nextInt(fontNames.length);
+        String fontName = fontNames[index];//生成随机的字体名称
+        int style = r.nextInt(4);//生成随机的样式, 0(无样式), 1(粗体), 2(斜体), 3(粗体+斜体)
+        int size = r.nextInt(5) + 24; //生成随机字号, 24 ~ 28
+        //Font对象的参数:1.字体名称2.字体样式3.字体大小
+        return new Font(fontName, style, size);
+    }
+
+    // 传入一个BufferImage对象,给图片画干扰线
+    private void drawLine(BufferedImage image) {
+        int num = 3;//一共画3条
+        Graphics2D g2 = (Graphics2D) image.getGraphics();
+        for (int i = 0; i < num; i++) {//生成两个点的坐标,即4个值
+            int x1 = r.nextInt(w);
+            int y1 = r.nextInt(h);
+            int x2 = r.nextInt(w);
+            int y2 = r.nextInt(h);
+            g2.setStroke(new BasicStroke(1.5F));
+            g2.setColor(Color.BLUE); //干扰线是蓝色
+            g2.drawLine(x1, y1, x2, y2);//画线
+        }
+    }
+
+    // 随机生成一个字符
+    private char randomChar() {
+        int index = r.nextInt(codes.length());
+        return codes.charAt(index);
+    }
+
+    // 创建BufferedImage
+    private BufferedImage createImage() {
+        BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
+        Graphics2D g2 = (Graphics2D) image.getGraphics();
+        g2.setColor(this.bgColor);
+        g2.fillRect(0, 0, w, h);
+        return image;
+    }
+
+    // 调用这个方法得到验证码
+    public BufferedImage getImage() {
+        BufferedImage image = createImage();//创建图片缓冲区
+        Graphics2D g2 = (Graphics2D) image.getGraphics();//得到绘制环境
+        StringBuilder sb = new StringBuilder();//用来装载生成的验证码文本
+        // 向图片中画4个字符
+        for (int i = 0; i < 4; i++) {//循环四次,每次生成一个字符
+            String s = randomChar() + "";//随机生成一个字母
+            sb.append(s); //把字母添加到sb中
+            float x = i * 1.0F * w / 4; //设置当前字符的x轴坐标
+            g2.setFont(randomFont()); //设置随机字体
+            g2.setColor(randomColor()); //设置随机颜色
+            g2.drawString(s, x, h - 5); //画图
+        }
+        this.text = sb.toString(); //把生成的字符串赋给了this.text
+        drawLine(image); //添加干扰线
+        return image;
+    }
+
+    // 返回验证码图片上的文本
+    public String getText() {
+        return text;
+    }
+
+    // 保存图片到指定的输出流
+    public static void output(BufferedImage image, OutputStream out)
+            throws IOException {
+        ImageIO.write(image, "JPEG", out);
+    }
+}

+ 27 - 0
shiwan/admin/src/main/java/com/huimv/admin/utils/GetMD5Str.java

@@ -0,0 +1,27 @@
+package com.huimv.admin.utils;
+
+import java.math.BigInteger;
+import java.security.MessageDigest;
+
+public class GetMD5Str {
+    /**
+     * 对字符串md5加密
+     *
+     * @param str
+     * @return
+     * @throws Exception
+     */
+    public static String getMD5Str(String str) throws Exception {
+        try {
+            // 生成一个MD5加密计算摘要
+            MessageDigest md = MessageDigest.getInstance("MD5");
+            // 计算md5函数
+            md.update(str.getBytes());
+            // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
+            // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
+            return new BigInteger(1, md.digest()).toString(16);
+        } catch (Exception e) {
+            throw new Exception("MD5加密出现错误,"+e.toString());
+        }
+    }
+}

+ 58 - 0
shiwan/admin/src/main/java/com/huimv/admin/utils/HttpUtils.java

@@ -0,0 +1,58 @@
+package com.huimv.admin.utils;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * http 工具类
+ */
+public class HttpUtils {
+
+    public static String post(String requestUrl, String accessToken, String params) throws Exception {
+        String generalUrl = requestUrl + "?access_token=" + accessToken;
+        URL url = new URL(generalUrl);
+        // 打开和URL之间的连接
+        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+        connection.setRequestMethod("POST");
+        // 设置通用的请求属性
+        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
+        connection.setRequestProperty("Connection", "Keep-Alive");
+        connection.setUseCaches(false);
+        connection.setDoOutput(true);
+        connection.setDoInput(true);
+
+        // 得到请求的输出流对象
+        DataOutputStream out = new DataOutputStream(connection.getOutputStream());
+        out.writeBytes(params);
+        out.flush();
+        out.close();
+
+        // 建立实际的连接
+        connection.connect();
+        // 获取所有响应头字段
+        Map<String, List<String>> headers = connection.getHeaderFields();
+        // 遍历所有的响应头字段
+        for (String key : headers.keySet()) {
+            System.out.println(key + "--->" + headers.get(key));
+        }
+        // 定义 BufferedReader输入流来读取URL的响应
+        BufferedReader in = null;
+        if (requestUrl.contains("nlp"))
+            in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "GBK"));
+        else
+            in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
+        String result = "";
+        String getLine;
+        while ((getLine = in.readLine()) != null) {
+            result += getLine;
+        }
+        in.close();
+        System.out.println("result:" + result);
+        return result;
+    }
+}

+ 27 - 0
shiwan/admin/src/main/java/com/huimv/admin/utils/IpTools.java

@@ -0,0 +1,27 @@
+package com.huimv.admin.utils;
+
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @author yejijie
+ * @created 2020年7月17日 上午11:24:20
+*/
+@Component
+public class IpTools {
+
+    public static String getRemoteHost(HttpServletRequest request){
+        String ip = request.getHeader("x-forwarded-for");
+        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
+            ip = request.getRemoteAddr();
+        }
+        return ip.equals("0:0:0:0:0:0:0:1")?"127.0.0.1":ip;
+    }
+}

+ 8 - 0
shiwan/admin/src/main/java/com/huimv/admin/utils/PageResult.java

@@ -0,0 +1,8 @@
+package com.huimv.admin.utils;
+
+import java.util.List;
+
+public class PageResult<T> {
+    private Long total;
+    private List<T> rows;
+}

+ 0 - 0
shiwan/admin/src/main/java/com/huimv/admin/utils/PlatformException.java


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor