Browse Source

MTTR和MTBF数据统计

shilin 3 years ago
parent
commit
8b55168285
67 changed files with 18765 additions and 390 deletions
  1. 14 0
      pom.xml
  2. 77 0
      src/main/java/com/gyee/frame/common/async/config/AsyncConfig.java
  3. 76 0
      src/main/java/com/gyee/frame/common/async/config/ThreadPoolConfig.java
  4. 133 0
      src/main/java/com/gyee/frame/common/async/controller/AsyncController.java
  5. 57 0
      src/main/java/com/gyee/frame/common/async/service/AsyncService.java
  6. 63 0
      src/main/java/com/gyee/frame/common/async/service/impl/AsyncServiceImpl.java
  7. 41 0
      src/main/java/com/gyee/frame/common/async/util/SmsUtil.java
  8. 1 0
      src/main/java/com/gyee/frame/common/spring/Constant.java
  9. 30 0
      src/main/java/com/gyee/frame/common/udp/client/UdpIntegrationClient.java
  10. 28 0
      src/main/java/com/gyee/frame/common/udp/client/UdpIntegrationClientConfig.java
  11. 54 0
      src/main/java/com/gyee/frame/common/udp/client/UdpSimpleClient.java
  12. 69 0
      src/main/java/com/gyee/frame/common/udp/controller/UdpController.java
  13. 177 0
      src/main/java/com/gyee/frame/common/udp/server/UdpServer.java
  14. 22 0
      src/main/java/com/gyee/frame/common/udp/service/BusinessService.java
  15. 35 0
      src/main/java/com/gyee/frame/common/udp/service/impl/BusinessServiceImpl.java
  16. 208 2
      src/main/java/com/gyee/frame/controller/monitor/GenreSetPushController.java
  17. 1 8
      src/main/java/com/gyee/frame/controller/monitor/MonitorPushController.java
  18. 2 2
      src/main/java/com/gyee/frame/controller/monitor/MonitorWtPushController.java
  19. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WpMttrAndMtbMonthMapper.java
  20. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WpMttrAndMtbfDayMapper.java
  21. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WpMttrAndMtbfYearMapper.java
  22. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WtMttrAndMtbfDayMapper.java
  23. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WtMttrAndMtbfMonthMapper.java
  24. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WtMttrAndMtbfYearMapper.java
  25. 310 0
      src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbMonth.java
  26. 882 0
      src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbMonthExample.java
  27. 278 0
      src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfDay.java
  28. 823 0
      src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfDayExample.java
  29. 277 0
      src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfYear.java
  30. 822 0
      src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfYearExample.java
  31. 212 0
      src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfDay.java
  32. 693 0
      src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfDayExample.java
  33. 244 0
      src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfMonth.java
  34. 752 0
      src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfMonthExample.java
  35. 211 0
      src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfYear.java
  36. 692 0
      src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfYearExample.java
  37. 70 0
      src/main/java/com/gyee/frame/model/custom/resultVo.java
  38. 30 0
      src/main/java/com/gyee/frame/service/ProjectPlanService.java
  39. 122 0
      src/main/java/com/gyee/frame/service/WpMttrAndMtbMonthService.java
  40. 103 0
      src/main/java/com/gyee/frame/service/WpMttrAndMtbfDayService.java
  41. 103 0
      src/main/java/com/gyee/frame/service/WpMttrAndMtbfYearService.java
  42. 103 0
      src/main/java/com/gyee/frame/service/WtMttrAndMtbfDayService.java
  43. 122 0
      src/main/java/com/gyee/frame/service/WtMttrAndMtbfMonthService.java
  44. 103 0
      src/main/java/com/gyee/frame/service/WtMttrAndMtbfYearService.java
  45. 29 1
      src/main/java/com/gyee/frame/service/report/WtHealthReport3Service.java
  46. 1455 0
      src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailLnService.java
  47. 1911 0
      src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailPjService.java
  48. 1979 0
      src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailService.java
  49. 1861 0
      src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailWpService.java
  50. 113 29
      src/main/java/com/gyee/frame/service/websocket/GenreSetPushService.java
  51. 27 9
      src/main/java/com/gyee/frame/service/websocket/MatrixPushByWpService.java
  52. 286 89
      src/main/java/com/gyee/frame/service/websocket/RealPowerPushService.java
  53. 88 39
      src/main/java/com/gyee/frame/service/websocket/WpInfoPushService.java
  54. 305 182
      src/main/java/com/gyee/frame/service/websocket/WtInfoPushService.java
  55. 23 15
      src/main/java/com/gyee/frame/service/websocket/WtWarnPushService.java
  56. 16 0
      src/main/resources/application.yml
  57. 3 9
      src/main/resources/mybatis-generator.xml
  58. 335 0
      src/main/resources/mybatis/auto/WpMttrAndMtbMonthMapper.xml
  59. 318 0
      src/main/resources/mybatis/auto/WpMttrAndMtbfDayMapper.xml
  60. 318 0
      src/main/resources/mybatis/auto/WpMttrAndMtbfYearMapper.xml
  61. 288 0
      src/main/resources/mybatis/auto/WtMttrAndMtbfDayMapper.xml
  62. 303 0
      src/main/resources/mybatis/auto/WtMttrAndMtbfMonthMapper.xml
  63. 288 0
      src/main/resources/mybatis/auto/WtMttrAndMtbfYearMapper.xml
  64. 98 0
      src/test/java/test/GenreSetPushDetialTest.java
  65. 86 0
      src/test/java/test/UDPTest.java
  66. 8 3
      src/test/java/test/WpInfoPushTest.java
  67. 11 2
      src/test/java/test/WtInfoPushServiceTest.java

+ 14 - 0
pom.xml

@@ -241,7 +241,21 @@
 			<systemPath>${basedir}/lib/ueditor-1.1.2.jar</systemPath>
 		</dependency>
 
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-integration</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>org.springframework.boot</groupId>
+					<artifactId>spring-boot-starter-logging</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
 
+		<dependency>
+			<groupId>org.springframework.integration</groupId>
+			<artifactId>spring-integration-ip</artifactId>
+		</dependency>
 		<!--quartz依赖-->
 		<dependency>
 			<groupId>org.quartz-scheduler</groupId>

+ 77 - 0
src/main/java/com/gyee/frame/common/async/config/AsyncConfig.java

@@ -0,0 +1,77 @@
+package com.gyee.frame.common.async.config;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.AsyncConfigurer;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+import java.lang.reflect.Method;
+import java.util.Arrays;
+
+/**
+ * AsyncConfig
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/19 17:58
+ */
+@Configuration
+@EnableAsync
+public class AsyncConfig implements AsyncConfigurer {
+
+    /**
+     * logger
+     */
+    private static final Logger logger = LoggerFactory.getLogger(AsyncConfig.class);
+
+    /**
+     * 这里不实现了,使用 ThreadPoolConfig 里的线程池即可
+     *
+     * @param
+     * @return java.util.concurrent.Executor
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/19 18:00
+     */
+    /*@Override
+    public Executor getAsyncExecutor() {
+        return null;
+    }*/
+
+    /**
+     * 只能捕获无返回值的异步方法,有返回值的被主线程处理
+     *
+     * @param
+     * @return org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:16
+     */
+    @Override
+    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
+        return new CustomAsyncExceptionHandler();
+    }
+
+    /***
+     * 处理异步方法中未捕获的异常
+     *
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/19 19:16
+     */
+    class CustomAsyncExceptionHandler implements AsyncUncaughtExceptionHandler {
+
+        @Override
+        public void handleUncaughtException(Throwable throwable, Method method, Object... obj) {
+            logger.info("Exception message - {}", throwable.getMessage());
+            logger.info("Method name - {}", method.getName());
+            logger.info("Parameter values - {}", Arrays.toString(obj));
+            if (throwable instanceof Exception) {
+                Exception exception = (Exception) throwable;
+                logger.info("exception:{}", exception.getMessage());
+            }
+            throwable.printStackTrace();
+        }
+
+    }
+}

+ 76 - 0
src/main/java/com/gyee/frame/common/async/config/ThreadPoolConfig.java

@@ -0,0 +1,76 @@
+package com.gyee.frame.common.async.config;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.*;
+
+/**
+ * 线程池配置
+ *
+ * @author wliduo
+ * @date 2019/2/15 14:36
+ */
+@Configuration
+public class ThreadPoolConfig {
+
+    /**
+     * logger
+     */
+    private final static Logger logger = LoggerFactory.getLogger(ThreadPoolConfig.class);
+
+    @Value("${asyncThreadPool.corePoolSize}")
+    private int corePoolSize;
+
+    @Value("${asyncThreadPool.maxPoolSize}")
+    private int maxPoolSize;
+
+    @Value("${asyncThreadPool.queueCapacity}")
+    private int queueCapacity;
+
+    @Value("${asyncThreadPool.keepAliveSeconds}")
+    private int keepAliveSeconds;
+
+    @Value("${asyncThreadPool.awaitTerminationSeconds}")
+    private int awaitTerminationSeconds;
+
+    @Value("${asyncThreadPool.threadNamePrefix}")
+    private String threadNamePrefix;
+
+    /**
+     * 线程池配置
+     * @param
+     * @return java.util.concurrent.Executor
+     * @author wliduo
+     * @date 2019/2/15 14:44
+     */
+    @Bean(name = "threadPoolTaskExecutor")
+    public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
+        logger.info("---------- 线程池开始加载 ----------");
+        ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
+        // 核心线程池大小
+        threadPoolTaskExecutor.setCorePoolSize(corePoolSize);
+        // 最大线程数
+        threadPoolTaskExecutor.setMaxPoolSize(maxPoolSize);
+        // 队列容量
+        threadPoolTaskExecutor.setQueueCapacity(keepAliveSeconds);
+        // 活跃时间
+        threadPoolTaskExecutor.setKeepAliveSeconds(queueCapacity);
+        // 主线程等待子线程执行时间
+        threadPoolTaskExecutor.setAwaitTerminationSeconds(awaitTerminationSeconds);
+        // 线程名字前缀
+        threadPoolTaskExecutor.setThreadNamePrefix(threadNamePrefix);
+        // RejectedExecutionHandler:当pool已经达到max-size的时候,如何处理新任务
+        // CallerRunsPolicy:不在新线程中执行任务,而是由调用者所在的线程来执行
+        threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        // 初始化
+        threadPoolTaskExecutor.initialize();
+        logger.info("---------- 线程池加载完成 ----------");
+        return threadPoolTaskExecutor;
+    }
+
+}

+ 133 - 0
src/main/java/com/gyee/frame/common/async/controller/AsyncController.java

@@ -0,0 +1,133 @@
+package com.gyee.frame.common.async.controller;
+
+
+import com.gyee.frame.common.async.service.AsyncService;
+import com.gyee.frame.common.async.util.SmsUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.concurrent.Future;
+
+/**
+ * AsyncController
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/19 14:46
+ */
+@RestController
+@RequestMapping("/async")
+public class AsyncController {
+
+    /**
+     * logger
+     */
+    private final static Logger logger = LoggerFactory.getLogger(AsyncController.class);
+
+    @Resource
+    private AsyncService asyncService;
+
+    @Autowired
+    private SmsUtil smsUtil;
+
+    /**
+     * 可以看到无返回值异步方法出现异常,主线程还是继续执行完成
+     *
+     * @param
+     * @return void
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 9:53
+     */
+    @GetMapping("/run1")
+    public String run1() throws Exception {
+        asyncService.task1();
+        logger.info("run1开始执行");
+        Thread.sleep(5000);
+        logger.info("run1执行完成");
+        return "run1 success";
+    }
+
+    /**
+     * 可以看到有返回值异步方法出现异常,异常抛给主线程处理,导致主线程也被中断执行
+     *
+     * @param
+     * @return java.lang.String
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:15
+     */
+    @GetMapping("/run2")
+    public String run2() throws Exception {
+        Future<String> future = asyncService.task2();
+        // get()方法阻塞主线程,直到执行完成
+        String result = future.get();
+        logger.info("run2开始执行");
+        Thread.sleep(5000);
+        logger.info("run2执行完成");
+        return result;
+    }
+
+    /**
+     * 多个异步执行
+     *
+     * @param
+     * @return java.lang.String
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:26
+     */
+    @GetMapping("/run3")
+    public String run3() throws Exception {
+        logger.info("run3开始执行");
+        long start = System.currentTimeMillis();
+        Future<String> future3 = asyncService.task3();
+        Future<String> future4 = asyncService.task4();
+        // 这样与下面是一样的
+        logger.info(future3.get());
+        logger.info(future4.get());
+        // 先判断是否执行完成
+        boolean run3Done = Boolean.FALSE;
+        while (true) {
+            if (future3.isDone() && future4.isDone()) {
+                // 执行完成
+                run3Done = Boolean.TRUE;
+                break;
+            }
+            if (future3.isCancelled() || future4.isCancelled()) {
+                // 取消情况
+                break;
+            }
+        }
+        if (run3Done) {
+            logger.info(future3.get());
+            logger.info(future4.get());
+        } else {
+            // 其他异常情况
+        }
+        long end = System.currentTimeMillis();
+        logger.info("run3执行完成,执行时间: {}", end - start);
+        return "run3 success";
+    }
+
+    /**
+     * 工具类异步
+     *
+     * @param
+     * @return java.lang.String
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:59
+     */
+    @GetMapping("/sms")
+    public String sms() throws Exception {
+        logger.info("run1开始执行");
+        smsUtil.sendCode("15912347896", "135333");
+        logger.info("run1执行完成");
+        return "send sms success";
+    }
+}

+ 57 - 0
src/main/java/com/gyee/frame/common/async/service/AsyncService.java

@@ -0,0 +1,57 @@
+package com.gyee.frame.common.async.service;
+
+import java.util.concurrent.Future;
+
+/**
+ * AsyncService
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/19 14:18
+ */
+public interface AsyncService {
+
+    /**
+     * 任务1
+     *
+     * @param
+     * @return void
+     * @throws Exception e
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/19 14:45
+     */
+    void task1() throws Exception;
+
+    /**
+     * 任务2
+     *
+     * @param
+     * @return java.util.concurrent.Future<java.lang.String>
+     * @throws Exception e
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:04
+     */
+    Future<String> task2() throws Exception;
+
+    /**
+     * 任务3
+     *
+     * @param
+     * @return java.util.concurrent.Future<java.lang.String>
+     * @throws Exception e
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:20
+     */
+    Future<String> task3() throws Exception;
+
+    /**
+     * 任务4
+     *
+     * @param
+     * @return java.util.concurrent.Future<java.lang.String>
+     * @throws Exception e
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:20
+     */
+    Future<String> task4() throws Exception;
+
+}

+ 63 - 0
src/main/java/com/gyee/frame/common/async/service/impl/AsyncServiceImpl.java

@@ -0,0 +1,63 @@
+package com.gyee.frame.common.async.service.impl;
+
+
+import com.gyee.frame.common.async.service.AsyncService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.AsyncResult;
+import org.springframework.stereotype.Service;
+
+import java.util.concurrent.Future;
+
+/**
+ * AsyncServiceImpl
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/19 14:24
+ */
+@Service
+public class AsyncServiceImpl implements AsyncService {
+
+    /**
+     * logger
+     */
+    private final static Logger logger = LoggerFactory.getLogger(AsyncServiceImpl.class);
+
+    @Override
+    @Async("threadPoolTaskExecutor")
+    public void task1() throws Exception {
+        logger.info("task1开始执行");
+        Thread.sleep(3000);
+        logger.info("task1执行结束");
+        throw new RuntimeException("出现异常");
+    }
+
+    @Override
+    @Async("threadPoolTaskExecutor")
+    public Future<String> task2() throws Exception {
+        logger.info("task2开始执行");
+        Thread.sleep(3000);
+        logger.info("task2执行结束");
+        throw new RuntimeException("出现异常");
+        // return new AsyncResult<String>("task2 success");
+    }
+
+    @Override
+    @Async("threadPoolTaskExecutor")
+    public Future<String> task3() throws Exception {
+        logger.info("task3开始执行");
+        Thread.sleep(3000);
+        logger.info("task3执行结束");
+        return new AsyncResult<String>("task3 success");
+    }
+
+    @Override
+    @Async("threadPoolTaskExecutor")
+    public Future<String> task4() throws Exception {
+        logger.info("task4开始执行");
+        Thread.sleep(3000);
+        logger.info("task4执行结束");
+        return new AsyncResult<String>("task4 success");
+    }
+}

+ 41 - 0
src/main/java/com/gyee/frame/common/async/util/SmsUtil.java

@@ -0,0 +1,41 @@
+package com.gyee.frame.common.async.util;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+/**
+ * SmsUtil
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/20 10:50
+ */
+@Component
+public class SmsUtil {
+
+    private static final Logger logger = LoggerFactory.getLogger(SmsUtil.class);
+
+    /**
+     * 异步发送短信
+     *
+     * @param phone
+	 * @param code
+     * @return void
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:53
+     */
+    @Async
+    public void sendCode(String phone, String code) {
+        logger.info("开始发送验证码...");
+        // 模拟调用接口发验证码的耗时
+        try {
+            Thread.sleep(3000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        logger.info("发送成功: {}", phone);
+    }
+
+}

+ 1 - 0
src/main/java/com/gyee/frame/common/spring/Constant.java

@@ -385,6 +385,7 @@ public class Constant {
 	public static final String QSTPOINT_WT_U1YZDL = "AI210";// U1项绕组电流
 	public static final String QSTPOINT_WT_U2YZDL = "AI211";// U2项绕组电流
 	public static final String QSTPOINT_WT_U3YZDL = "AI212";// U3项绕组电流
+
 	public static final String QSTPOINT_WT_U1YZDY = "AI207";// U1项绕组电压
 	public static final String QSTPOINT_WT_U2YZDY = "AI208";// U2项绕组电压
 	public static final String QSTPOINT_WT_U3YZDY = "AI209";// U3项绕组电压

+ 30 - 0
src/main/java/com/gyee/frame/common/udp/client/UdpIntegrationClient.java

@@ -0,0 +1,30 @@
+package com.gyee.frame.common.udp.client;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.integration.ip.udp.UnicastSendingMessageHandler;
+import org.springframework.integration.support.MessageBuilder;
+import org.springframework.stereotype.Service;
+
+/**
+ * Integration发送方式
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/20 15:53
+ */
+@Service
+public class UdpIntegrationClient {
+
+    private final static Logger logger = LoggerFactory.getLogger(UdpIntegrationClient.class);
+
+    @Autowired
+    private UnicastSendingMessageHandler unicastSendingMessageHandler;
+
+    public void sendMessage(String message) {
+        logger.info("发送UDP: {}", message);
+        unicastSendingMessageHandler.handleMessage(MessageBuilder.withPayload(message).build());
+        logger.info("发送成功");
+    }
+
+}

+ 28 - 0
src/main/java/com/gyee/frame/common/udp/client/UdpIntegrationClientConfig.java

@@ -0,0 +1,28 @@
+package com.gyee.frame.common.udp.client;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.integration.annotation.ServiceActivator;
+import org.springframework.integration.ip.udp.UnicastSendingMessageHandler;
+
+/**
+ * IntegrationClientConfig
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/20 15:59
+ */
+@Configuration
+public class UdpIntegrationClientConfig {
+
+    @Value("${udp.port}")
+    private Integer udpPort;
+
+    @Bean
+    @ServiceActivator(inputChannel = "udpOut")
+    public UnicastSendingMessageHandler unicastSendingMessageHandler() {
+        UnicastSendingMessageHandler unicastSendingMessageHandler = new UnicastSendingMessageHandler("localhost", udpPort);
+        return unicastSendingMessageHandler;
+    }
+
+}

+ 54 - 0
src/main/java/com/gyee/frame/common/udp/client/UdpSimpleClient.java

@@ -0,0 +1,54 @@
+package com.gyee.frame.common.udp.client;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.InetSocketAddress;
+
+/**
+ * 默认发送方式
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/20 15:53
+ */
+@Service
+public class UdpSimpleClient {
+
+    private final static Logger logger = LoggerFactory.getLogger(UdpSimpleClient.class);
+
+    @Value("${udp.port}")
+    private Integer udpPort;
+
+    public void sendMessage(String message) {
+        logger.info("发送UDP: {}", message);
+        InetSocketAddress inetSocketAddress = new InetSocketAddress("192.168.10.30", 12025);
+        byte[] udpMessage = message.getBytes();
+        DatagramPacket datagramPacket = null;
+        try (DatagramSocket datagramSocket = new DatagramSocket()) {
+            datagramPacket = new DatagramPacket(udpMessage, udpMessage.length, inetSocketAddress);
+            datagramSocket.send(datagramPacket);
+        } catch (IOException e) {
+            logger.error(e.getMessage(), e);
+        }
+        logger.info("发送成功");
+    }
+
+    public void sendMessagetest(String message) {
+        logger.info("发送UDP: {}", message);
+        InetSocketAddress inetSocketAddress = new InetSocketAddress("192.168.10.23", 12025);
+        byte[] udpMessage = message.getBytes();
+        DatagramPacket datagramPacket = null;
+        try (DatagramSocket datagramSocket = new DatagramSocket()) {
+            datagramPacket = new DatagramPacket(udpMessage, udpMessage.length, inetSocketAddress);
+            datagramSocket.send(datagramPacket);
+        } catch (IOException e) {
+            logger.error(e.getMessage(), e);
+        }
+        logger.info("发送成功");
+    }
+}

+ 69 - 0
src/main/java/com/gyee/frame/common/udp/controller/UdpController.java

@@ -0,0 +1,69 @@
+package com.gyee.frame.common.udp.controller;
+
+
+import com.gyee.frame.common.udp.client.UdpIntegrationClient;
+import com.gyee.frame.common.udp.client.UdpSimpleClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * UdpController
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/19 14:46
+ */
+@RestController
+@RequestMapping("/udp")
+public class UdpController {
+
+    /**
+     * logger
+     */
+    private final static Logger logger = LoggerFactory.getLogger(UdpController.class);
+
+    @Autowired
+    private UdpSimpleClient udpSimpleClient;
+
+    @Autowired
+    private UdpIntegrationClient udpIntegrationClient;
+
+
+
+    /**
+     * UdpSimpleClient发送
+     *
+     * @param
+     * @return java.lang.String
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 16:35
+     */
+    @GetMapping("/send1")
+    public String send1() throws Exception {
+        udpSimpleClient.sendMessage("aA");
+        return "send1 success";
+    }
+
+    /**
+     * UdpIntegrationClient发送
+     *
+     * @param
+     * @return java.lang.String
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 10:15
+     */
+    @GetMapping("/send2")
+    public String send2() throws Exception {
+        udpIntegrationClient.sendMessage("bB");
+        return "send2 success";
+    }
+
+
+
+
+}

+ 177 - 0
src/main/java/com/gyee/frame/common/udp/server/UdpServer.java

@@ -0,0 +1,177 @@
+package com.gyee.frame.common.udp.server;
+
+
+import com.gyee.frame.common.udp.service.BusinessService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.integration.annotation.Filter;
+import org.springframework.integration.annotation.Router;
+import org.springframework.integration.annotation.ServiceActivator;
+import org.springframework.integration.annotation.Transformer;
+import org.springframework.integration.dsl.IntegrationFlow;
+import org.springframework.integration.dsl.IntegrationFlows;
+import org.springframework.integration.ip.dsl.Udp;
+import org.springframework.messaging.handler.annotation.Headers;
+import org.springframework.messaging.handler.annotation.Payload;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * UDP消息接收服务
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/20 14:16
+ */
+@Configuration
+public class UdpServer {
+
+    private static final Logger logger = LoggerFactory.getLogger(UdpServer.class);
+
+    @Value("${udp.port}")
+    private Integer udpPort;
+
+    @Resource
+    private BusinessService businessService;
+
+    /**
+     * UDP消息接收服务写法一
+     * https://docs.spring.io/spring-integration/reference/html/ip.html#inbound-udp-adapters-java-configuration
+     *
+     * @param
+     * @return org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/14 11:00
+     */
+//    @Bean
+//    public UnicastReceivingChannelAdapter unicastReceivingChannelAdapter() {
+//        // 实例化一个UDP消息接收服务
+//        UnicastReceivingChannelAdapter unicastReceivingChannelAdapter = new UnicastReceivingChannelAdapter(udpPort);
+//        // unicastReceivingChannelAdapter.setOutputChannel(new DirectChannel());
+//        unicastReceivingChannelAdapter.setOutputChannelName("udpChannel");
+//        logger.info("UDP服务启动成功,端口号为: {}", udpPort);
+//        return unicastReceivingChannelAdapter;
+//    }
+
+    /**
+     * UDP消息接收服务写法二
+     * https://docs.spring.io/spring-integration/reference/html/ip.html#inbound-udp-adapters-java-dsl-configuration
+     *
+     * @param
+     * @return org.springframework.integration.dsl.IntegrationFlow
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 16:08
+     */
+    @Bean
+    public IntegrationFlow integrationFlow() {
+        logger.info("UDP服务启动成功,端口号为: {}", udpPort);
+        return IntegrationFlows.from(Udp.inboundAdapter(udpPort)).channel("udpChannel").get();
+    }
+
+    /**
+     * 转换器
+     *
+     * @param payload
+	 * @param headers
+     * @return java.lang.String
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 15:30
+     */
+    @Transformer(inputChannel = "udpChannel", outputChannel = "udpFilter")
+    public String transformer(@Payload byte[] payload, @Headers Map<String, Object> headers) {
+        String message = new String(payload);
+        // 转换为大写
+        // message = message.toUpperCase();
+        // 向客户端响应,还不知道怎么写
+        return message;
+    }
+
+    /**
+     * 过滤器
+     *
+     * @param message
+	 * @param headers
+     * @return boolean
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 15:30
+     */
+    @Filter(inputChannel = "udpFilter", outputChannel = "udpRouter")
+    public boolean filter(String message, @Headers Map<String, Object> headers) {
+        // 获取来源Id
+        String id = headers.get("id").toString();
+        // 获取来源IP,可以进行IP过滤
+        String ip = headers.get("ip_address").toString();
+        // 获取来源Port
+        String port = headers.get("ip_port").toString();
+        // 信息数据过滤
+        /*if (message.indexOf("-") < 0) {
+            // 没有-的数据会被过滤
+            return false;
+        }*/
+        return true;
+    }
+
+    /**
+     * 路由分发处理器
+     *
+     * @param message
+	 * @param headers
+     * @return java.lang.String
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 15:35
+     */
+    @Router(inputChannel = "udpRouter")
+    public String router(String message, @Headers Map<String, Object> headers) {
+        // 获取来源Id
+        String id = headers.get("id").toString();
+        // 获取来源IP,可以进行IP过滤
+        String ip = headers.get("ip_address").toString();
+        // 获取来源Port
+        String port = headers.get("ip_port").toString();
+        // 筛选,走那个处理器
+        if (false) {
+            return "udpHandle2";
+        }
+        return "udpHandle1";
+    }
+
+    /**
+     * 最终处理器1
+     *
+     * @param message
+     * @return void
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 15:12
+     */
+    @ServiceActivator(inputChannel = "udpHandle1")
+    public void udpMessageHandle(String message, @Headers Map<String, Object> headers) throws Exception {
+        // 可以进行异步处理
+        businessService.udpHandleMethod(message);
+        logger.info("UDP1:" + message);
+    }
+
+    /**
+     * 最终处理器2
+     *
+     * @param message
+     * @return void
+     * @throws
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/14 11:02
+     */
+    @ServiceActivator(inputChannel = "udpHandle2")
+    public void udpMessageHandle2(String message, @Headers Map<String, Object> headers) throws Exception {
+        logger.info("UDP2:" + message);
+    }
+
+
+}

+ 22 - 0
src/main/java/com/gyee/frame/common/udp/service/BusinessService.java

@@ -0,0 +1,22 @@
+package com.gyee.frame.common.udp.service;
+
+/**
+ * BusinessService
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/20 11:57
+ */
+public interface BusinessService {
+
+    /**
+     * UDP消息处理方法
+     *
+     * @param message
+     * @return void
+     * @throws Exception e
+     * @author wliduo[i@dolyw.com]
+     * @date 2020/5/20 11:57
+     */
+    void udpHandleMethod(String message) throws Exception;
+
+}

+ 35 - 0
src/main/java/com/gyee/frame/common/udp/service/impl/BusinessServiceImpl.java

@@ -0,0 +1,35 @@
+package com.gyee.frame.common.udp.service.impl;
+
+
+import com.gyee.frame.common.udp.client.UdpSimpleClient;
+import com.gyee.frame.common.udp.service.BusinessService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * BusinessServiceImpl
+ *
+ * @author wliduo[i@dolyw.com]
+ * @date 2020/5/20 11:59
+ */
+@Service
+public class BusinessServiceImpl implements BusinessService {
+
+    private static final Logger logger = LoggerFactory.getLogger(BusinessServiceImpl.class);
+    @Autowired
+    private UdpSimpleClient udpSimpleClient;
+    @Override
+   // @Async("threadPoolTaskExecutor")
+    public void udpHandleMethod(String message) throws Exception {
+        logger.info("业务开始处理");
+        System.out.println(message);
+
+
+
+        udpSimpleClient.sendMessage("中文测试!");
+        Thread.sleep(1000);
+        logger.info("业务处理完成");
+    }
+}

+ 208 - 2
src/main/java/com/gyee/frame/controller/monitor/GenreSetPushController.java

@@ -2,9 +2,12 @@ package com.gyee.frame.controller.monitor;
 
 import com.gyee.frame.common.conf.AjaxStatus;
 import com.gyee.frame.common.domain.AjaxResult;
-import com.gyee.frame.service.websocket.AgcService;
-import com.gyee.frame.service.websocket.GenreSetPushService;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.service.websocket.*;
+import com.gyee.frame.util.StringUtils;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.stereotype.Controller;
@@ -14,6 +17,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -25,6 +29,16 @@ public class GenreSetPushController {
     @Resource
     private GenreSetPushService genreSetPushService;
     @Resource
+    private GenreSetPushDetailLnService genreSetPushDetailLnService;
+    @Resource
+    private GenreSetPushDetailPjService genreSetPushDetailPjService;
+    @Resource
+    private GenreSetPushDetailWpService genreSetPushDetailWpService;
+    @Resource
+    private GenreSetPushDetailService genreSetPushDetailService;
+    @Resource
+    private RealPowerPushService realPowerPushService;
+    @Resource
     private AgcService agcService;
 
 
@@ -48,5 +62,197 @@ public class GenreSetPushController {
 
     }
 
+    @PostMapping("/findBasicDataInfo")
+    @ResponseBody
+    @ApiOperation(value = "获取驾驶舱基础信息", notes = "获取驾驶舱基础信息")
+    @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "对象编号", required = true, dataType = "string", paramType = "query")})
+    public AjaxResult findBasicDataInfo(String id) throws Exception {
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        if(StringUtils.notEmp(id))
+        {
+            map=genreSetPushService.findBasicDataInfo(id);
+        }
+
+        if (null!=map){
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+
+    @PostMapping("/findDayInfo")
+    @ResponseBody
+    @ApiOperation(value = "获取钻取指标日信息", notes = "获取钻取指标日信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "钻取对象编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "targetName", value = "指标名称", required = true, dataType = "string", paramType = "query")})
+
+    public AjaxResult findDayInfo(String id, String targetName) throws Exception {
+
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        if (StringUtils.notEmp(id) && StringUtils.notEmp(targetName) ) {
+            if (InitialRunner.wpmap.containsKey(id)) {
+
+                map = genreSetPushDetailWpService.findDayInfo(id, targetName);
+            } else if (InitialRunner.pjmap.containsKey(id)) {
+
+                map = genreSetPushDetailPjService.findDayInfo(id, targetName);
+            } else if (InitialRunner.lnmap.containsKey(id)) {
+
+                map = genreSetPushDetailLnService.findDayInfo(id, targetName);
+            } else {
+                map = genreSetPushDetailService.findDayInfo(id, targetName);
+            }
+        }
+
+
+        if (null!=map){
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+
+    @PostMapping("/findMonthInfo")
+    @ResponseBody
+    @ApiOperation(value = "获取钻取指标月信息", notes = "获取钻取指标月信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "钻取对象编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "targetName", value = "指标名称", required = true, dataType = "string", paramType = "query")})
+
+    public AjaxResult findMonthInfo(String id, String targetName) throws Exception {
+
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        if (StringUtils.notEmp(id) && StringUtils.notEmp(targetName) ) {
+            if (InitialRunner.wpmap.containsKey(id)) {
+
+                map = genreSetPushDetailWpService.findMonthInfo(id, targetName);
+            } else if (InitialRunner.pjmap.containsKey(id)) {
+
+                map = genreSetPushDetailPjService.findMonthInfo(id, targetName);
+            } else if (InitialRunner.lnmap.containsKey(id)) {
+
+                map = genreSetPushDetailLnService.findMonthInfo(id, targetName);
+            } else {
+                map = genreSetPushDetailService.findMonthInfo(id, targetName);
+            }
+        }
+
+
+        if (null!=map){
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+    @PostMapping("/findYearInfo")
+    @ResponseBody
+    @ApiOperation(value = "获取钻取指标年信息", notes = "获取钻取指标年信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "钻取对象编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "targetName", value = "指标名称", required = true, dataType = "string", paramType = "query")})
+
+    public AjaxResult findYearInfo(String id, String targetName) throws Exception {
+
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        if (StringUtils.notEmp(id) && StringUtils.notEmp(targetName) ) {
+            if (InitialRunner.wpmap.containsKey(id)) {
+
+                map = genreSetPushDetailWpService.findYearInfo(id, targetName);
+            } else if (InitialRunner.pjmap.containsKey(id)) {
+
+                map = genreSetPushDetailPjService.findYearInfo(id, targetName);
+            } else if (InitialRunner.lnmap.containsKey(id)) {
+
+                map = genreSetPushDetailLnService.findYearInfo(id, targetName);
+            } else {
+                map = genreSetPushDetailService.findYearInfo(id, targetName);
+            }
+        }
+
+
+
+        if (null!=map){
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+
+    @PostMapping("/findProjectPlanPower")
+    @ResponseBody
+    @ApiOperation(value = "获取计划发电量钻取信息", notes = "获取计划发电量钻取信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "钻取对象编号", required = true, dataType = "string", paramType = "query")})
+
+    public AjaxResult findProjectPlanPower(String id) throws Exception {
+
+
+        List<DataVo> vos = new ArrayList<DataVo>();
+        if (StringUtils.notEmp(id)  ) {
+            if (InitialRunner.wpmap.containsKey(id)) {
+
+                vos = genreSetPushDetailWpService.findProjectPlanPower(id);
+            } else if (InitialRunner.pjmap.containsKey(id)) {
+
+                vos = genreSetPushDetailPjService.findProjectPlanPower(id);
+            } else if (InitialRunner.lnmap.containsKey(id)) {
+
+                vos = genreSetPushDetailLnService.findProjectPlanPower(id);
+            } else {
+                vos = genreSetPushDetailService.findProjectPlanPower(id);
+            }
+        }
+
+
+
+        if (null!=vos){
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, vos);
+        }
+
+    }
+
+
+    @PostMapping("/findGLDetail")
+    @ResponseBody
+    @ApiOperation(value = "获取功率曲线钻取信息", notes = "获取功率曲线钻取信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "钻取对象编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "targetName", value = "指标名称", required = true, dataType = "string", paramType = "query")})
 
+    public AjaxResult findGLDetail(String id, String targetName) throws Exception {
+
+
+       List<Object> vos = new ArrayList<Object>();
+ //       Map<String, List> vos = new HashMap<String, List>();
+
+        if (StringUtils.notEmp(id) && StringUtils.notEmp(targetName) ) {
+            vos = realPowerPushService.findGLDetail(id,targetName);
+        }
+
+        if (null!=vos){
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, vos);
+        }
+
+    }
 }

+ 1 - 8
src/main/java/com/gyee/frame/controller/monitor/MonitorPushController.java

@@ -26,14 +26,7 @@ public class MonitorPushController {
 
     @Resource
     private WpInfoPushService wpInfoPushService;
-    @Resource
-    private MatrixDetialPushService matrixDetialPushService;
-    @Resource
-    private MatrixDetialGfPushService matrixDetialGfPushService;
-    @Resource
-    private MatrixQfPushService matrixQfPushService;
-    @Resource
-    private MatrixPushByWpService matrixPushByWpService;
+
 
     @PostMapping("/monitor")
     @ResponseBody

+ 2 - 2
src/main/java/com/gyee/frame/controller/monitor/MonitorWtPushController.java

@@ -80,13 +80,13 @@ public class MonitorWtPushController {
     @ApiImplicitParams({@ApiImplicitParam(name = "wpId", value = "风场编号", required = true, dataType = "string", paramType = "query")
     })
 
-    public AjaxResult findWtInfoList(String wtId) throws Exception {
+    public AjaxResult findWtInfoList(String wpId) throws Exception {
 
 
         List<Map<String, Object>> vos=  new ArrayList<>();
 
 
-        vos=wtInfoPushService.findWtInfoList(wtId);
+        vos=wtInfoPushService.findWtInfoList(wpId);
 
         if (null!=vos) {
             return AjaxResult.successData(AjaxStatus.success.code, vos);

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WpMttrAndMtbMonthMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.WpMttrAndMtbMonth;
+import com.gyee.frame.model.auto.WpMttrAndMtbMonthExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WpMttrAndMtbMonthMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    long countByExample(WpMttrAndMtbMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(WpMttrAndMtbMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int insert(WpMttrAndMtbMonth record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int insertSelective(WpMttrAndMtbMonth record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    List<WpMttrAndMtbMonth> selectByExample(WpMttrAndMtbMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    WpMttrAndMtbMonth selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") WpMttrAndMtbMonth record, @Param("example") WpMttrAndMtbMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") WpMttrAndMtbMonth record, @Param("example") WpMttrAndMtbMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(WpMttrAndMtbMonth record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(WpMttrAndMtbMonth record);
+}

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WpMttrAndMtbfDayMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.WpMttrAndMtbfDay;
+import com.gyee.frame.model.auto.WpMttrAndMtbfDayExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WpMttrAndMtbfDayMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    long countByExample(WpMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(WpMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int insert(WpMttrAndMtbfDay record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int insertSelective(WpMttrAndMtbfDay record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    List<WpMttrAndMtbfDay> selectByExample(WpMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    WpMttrAndMtbfDay selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") WpMttrAndMtbfDay record, @Param("example") WpMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") WpMttrAndMtbfDay record, @Param("example") WpMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(WpMttrAndMtbfDay record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(WpMttrAndMtbfDay record);
+}

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WpMttrAndMtbfYearMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.WpMttrAndMtbfYear;
+import com.gyee.frame.model.auto.WpMttrAndMtbfYearExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WpMttrAndMtbfYearMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    long countByExample(WpMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(WpMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int insert(WpMttrAndMtbfYear record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int insertSelective(WpMttrAndMtbfYear record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    List<WpMttrAndMtbfYear> selectByExample(WpMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    WpMttrAndMtbfYear selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") WpMttrAndMtbfYear record, @Param("example") WpMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") WpMttrAndMtbfYear record, @Param("example") WpMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(WpMttrAndMtbfYear record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(WpMttrAndMtbfYear record);
+}

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WtMttrAndMtbfDayMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.WtMttrAndMtbfDay;
+import com.gyee.frame.model.auto.WtMttrAndMtbfDayExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WtMttrAndMtbfDayMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    long countByExample(WtMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(WtMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int insert(WtMttrAndMtbfDay record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int insertSelective(WtMttrAndMtbfDay record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    List<WtMttrAndMtbfDay> selectByExample(WtMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    WtMttrAndMtbfDay selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") WtMttrAndMtbfDay record, @Param("example") WtMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") WtMttrAndMtbfDay record, @Param("example") WtMttrAndMtbfDayExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(WtMttrAndMtbfDay record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(WtMttrAndMtbfDay record);
+}

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WtMttrAndMtbfMonthMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.WtMttrAndMtbfMonth;
+import com.gyee.frame.model.auto.WtMttrAndMtbfMonthExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WtMttrAndMtbfMonthMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    long countByExample(WtMttrAndMtbfMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(WtMttrAndMtbfMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int insert(WtMttrAndMtbfMonth record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int insertSelective(WtMttrAndMtbfMonth record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    List<WtMttrAndMtbfMonth> selectByExample(WtMttrAndMtbfMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    WtMttrAndMtbfMonth selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") WtMttrAndMtbfMonth record, @Param("example") WtMttrAndMtbfMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") WtMttrAndMtbfMonth record, @Param("example") WtMttrAndMtbfMonthExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(WtMttrAndMtbfMonth record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(WtMttrAndMtbfMonth record);
+}

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WtMttrAndMtbfYearMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.WtMttrAndMtbfYear;
+import com.gyee.frame.model.auto.WtMttrAndMtbfYearExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WtMttrAndMtbfYearMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    long countByExample(WtMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(WtMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int insert(WtMttrAndMtbfYear record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int insertSelective(WtMttrAndMtbfYear record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    List<WtMttrAndMtbfYear> selectByExample(WtMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    WtMttrAndMtbfYear selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") WtMttrAndMtbfYear record, @Param("example") WtMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") WtMttrAndMtbfYear record, @Param("example") WtMttrAndMtbfYearExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(WtMttrAndMtbfYear record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(WtMttrAndMtbfYear record);
+}

+ 310 - 0
src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbMonth.java

@@ -0,0 +1,310 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class WpMttrAndMtbMonth implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.WPID
+     *
+     * @mbg.generated
+     */
+    private String wpid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.WPNAME
+     *
+     * @mbg.generated
+     */
+    private String wpname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.LOCATION
+     *
+     * @mbg.generated
+     */
+    private String location;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.YEAR
+     *
+     * @mbg.generated
+     */
+    private Long year;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.MONTH
+     *
+     * @mbg.generated
+     */
+    private Long month;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    private Double stoprtimes;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBMONTH.WTHOURS
+     *
+     * @mbg.generated
+     */
+    private Double wthours;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.ID
+     *
+     * @return the value of WPMTTRANDMTBMONTH.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.ID
+     *
+     * @param id the value for WPMTTRANDMTBMONTH.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.WPID
+     *
+     * @return the value of WPMTTRANDMTBMONTH.WPID
+     *
+     * @mbg.generated
+     */
+    public String getWpid() {
+        return wpid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.WPID
+     *
+     * @param wpid the value for WPMTTRANDMTBMONTH.WPID
+     *
+     * @mbg.generated
+     */
+    public void setWpid(String wpid) {
+        this.wpid = wpid == null ? null : wpid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.WPNAME
+     *
+     * @return the value of WPMTTRANDMTBMONTH.WPNAME
+     *
+     * @mbg.generated
+     */
+    public String getWpname() {
+        return wpname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.WPNAME
+     *
+     * @param wpname the value for WPMTTRANDMTBMONTH.WPNAME
+     *
+     * @mbg.generated
+     */
+    public void setWpname(String wpname) {
+        this.wpname = wpname == null ? null : wpname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.LOCATION
+     *
+     * @return the value of WPMTTRANDMTBMONTH.LOCATION
+     *
+     * @mbg.generated
+     */
+    public String getLocation() {
+        return location;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.LOCATION
+     *
+     * @param location the value for WPMTTRANDMTBMONTH.LOCATION
+     *
+     * @mbg.generated
+     */
+    public void setLocation(String location) {
+        this.location = location == null ? null : location.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.YEAR
+     *
+     * @return the value of WPMTTRANDMTBMONTH.YEAR
+     *
+     * @mbg.generated
+     */
+    public Long getYear() {
+        return year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.YEAR
+     *
+     * @param year the value for WPMTTRANDMTBMONTH.YEAR
+     *
+     * @mbg.generated
+     */
+    public void setYear(Long year) {
+        this.year = year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.MONTH
+     *
+     * @return the value of WPMTTRANDMTBMONTH.MONTH
+     *
+     * @mbg.generated
+     */
+    public Long getMonth() {
+        return month;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.MONTH
+     *
+     * @param month the value for WPMTTRANDMTBMONTH.MONTH
+     *
+     * @mbg.generated
+     */
+    public void setMonth(Long month) {
+        this.month = month;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.STOPHOURS
+     *
+     * @return the value of WPMTTRANDMTBMONTH.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.STOPHOURS
+     *
+     * @param stophours the value for WPMTTRANDMTBMONTH.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.STOPRTIMES
+     *
+     * @return the value of WPMTTRANDMTBMONTH.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public Double getStoprtimes() {
+        return stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.STOPRTIMES
+     *
+     * @param stoprtimes the value for WPMTTRANDMTBMONTH.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public void setStoprtimes(Double stoprtimes) {
+        this.stoprtimes = stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBMONTH.WTHOURS
+     *
+     * @return the value of WPMTTRANDMTBMONTH.WTHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getWthours() {
+        return wthours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBMONTH.WTHOURS
+     *
+     * @param wthours the value for WPMTTRANDMTBMONTH.WTHOURS
+     *
+     * @mbg.generated
+     */
+    public void setWthours(Double wthours) {
+        this.wthours = wthours;
+    }
+}

+ 882 - 0
src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbMonthExample.java

@@ -0,0 +1,882 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WpMttrAndMtbMonthExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public WpMttrAndMtbMonthExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIsNull() {
+            addCriterion("WPID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIsNotNull() {
+            addCriterion("WPID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidEqualTo(String value) {
+            addCriterion("WPID =", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotEqualTo(String value) {
+            addCriterion("WPID <>", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidGreaterThan(String value) {
+            addCriterion("WPID >", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidGreaterThanOrEqualTo(String value) {
+            addCriterion("WPID >=", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLessThan(String value) {
+            addCriterion("WPID <", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLessThanOrEqualTo(String value) {
+            addCriterion("WPID <=", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLike(String value) {
+            addCriterion("WPID like", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotLike(String value) {
+            addCriterion("WPID not like", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIn(List<String> values) {
+            addCriterion("WPID in", values, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotIn(List<String> values) {
+            addCriterion("WPID not in", values, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidBetween(String value1, String value2) {
+            addCriterion("WPID between", value1, value2, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotBetween(String value1, String value2) {
+            addCriterion("WPID not between", value1, value2, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNull() {
+            addCriterion("WPNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNotNull() {
+            addCriterion("WPNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameEqualTo(String value) {
+            addCriterion("WPNAME =", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotEqualTo(String value) {
+            addCriterion("WPNAME <>", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThan(String value) {
+            addCriterion("WPNAME >", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThanOrEqualTo(String value) {
+            addCriterion("WPNAME >=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThan(String value) {
+            addCriterion("WPNAME <", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThanOrEqualTo(String value) {
+            addCriterion("WPNAME <=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLike(String value) {
+            addCriterion("WPNAME like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotLike(String value) {
+            addCriterion("WPNAME not like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIn(List<String> values) {
+            addCriterion("WPNAME in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotIn(List<String> values) {
+            addCriterion("WPNAME not in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameBetween(String value1, String value2) {
+            addCriterion("WPNAME between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotBetween(String value1, String value2) {
+            addCriterion("WPNAME not between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIsNull() {
+            addCriterion("LOCATION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIsNotNull() {
+            addCriterion("LOCATION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationEqualTo(String value) {
+            addCriterion("LOCATION =", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotEqualTo(String value) {
+            addCriterion("LOCATION <>", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationGreaterThan(String value) {
+            addCriterion("LOCATION >", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationGreaterThanOrEqualTo(String value) {
+            addCriterion("LOCATION >=", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLessThan(String value) {
+            addCriterion("LOCATION <", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLessThanOrEqualTo(String value) {
+            addCriterion("LOCATION <=", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLike(String value) {
+            addCriterion("LOCATION like", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotLike(String value) {
+            addCriterion("LOCATION not like", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIn(List<String> values) {
+            addCriterion("LOCATION in", values, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotIn(List<String> values) {
+            addCriterion("LOCATION not in", values, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationBetween(String value1, String value2) {
+            addCriterion("LOCATION between", value1, value2, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotBetween(String value1, String value2) {
+            addCriterion("LOCATION not between", value1, value2, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNull() {
+            addCriterion("YEAR is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNotNull() {
+            addCriterion("YEAR is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearEqualTo(Integer value) {
+            addCriterion("YEAR =", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotEqualTo(Integer value) {
+            addCriterion("YEAR <>", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThan(Integer value) {
+            addCriterion("YEAR >", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThanOrEqualTo(Integer value) {
+            addCriterion("YEAR >=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThan(Integer value) {
+            addCriterion("YEAR <", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThanOrEqualTo(Integer value) {
+            addCriterion("YEAR <=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIn(List<Integer> values) {
+            addCriterion("YEAR in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotIn(List<Integer> values) {
+            addCriterion("YEAR not in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearBetween(Integer value1, Integer value2) {
+            addCriterion("YEAR between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotBetween(Integer value1, Integer value2) {
+            addCriterion("YEAR not between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIsNull() {
+            addCriterion("MONTH is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIsNotNull() {
+            addCriterion("MONTH is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthEqualTo(Integer value) {
+            addCriterion("MONTH =", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotEqualTo(Integer value) {
+            addCriterion("MONTH <>", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthGreaterThan(Integer value) {
+            addCriterion("MONTH >", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthGreaterThanOrEqualTo(Integer value) {
+            addCriterion("MONTH >=", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthLessThan(Integer value) {
+            addCriterion("MONTH <", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthLessThanOrEqualTo(Integer value) {
+            addCriterion("MONTH <=", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIn(List<Integer> values) {
+            addCriterion("MONTH in", values, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotIn(List<Integer> values) {
+            addCriterion("MONTH not in", values, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthBetween(Integer value1, Integer value2) {
+            addCriterion("MONTH between", value1, value2, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotBetween(Integer value1, Integer value2) {
+            addCriterion("MONTH not between", value1, value2, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNull() {
+            addCriterion("STOPHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNotNull() {
+            addCriterion("STOPHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursEqualTo(Double value) {
+            addCriterion("STOPHOURS =", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotEqualTo(Double value) {
+            addCriterion("STOPHOURS <>", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThan(Double value) {
+            addCriterion("STOPHOURS >", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS >=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThan(Double value) {
+            addCriterion("STOPHOURS <", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS <=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIn(List<Double> values) {
+            addCriterion("STOPHOURS in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotIn(List<Double> values) {
+            addCriterion("STOPHOURS not in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS not between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNull() {
+            addCriterion("STOPRTIMES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNotNull() {
+            addCriterion("STOPRTIMES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesEqualTo(Double value) {
+            addCriterion("STOPRTIMES =", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotEqualTo(Double value) {
+            addCriterion("STOPRTIMES <>", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThan(Double value) {
+            addCriterion("STOPRTIMES >", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES >=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThan(Double value) {
+            addCriterion("STOPRTIMES <", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES <=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIn(List<Double> values) {
+            addCriterion("STOPRTIMES in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotIn(List<Double> values) {
+            addCriterion("STOPRTIMES not in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES not between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIsNull() {
+            addCriterion("WTHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIsNotNull() {
+            addCriterion("WTHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursEqualTo(Double value) {
+            addCriterion("WTHOURS =", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotEqualTo(Double value) {
+            addCriterion("WTHOURS <>", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursGreaterThan(Double value) {
+            addCriterion("WTHOURS >", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("WTHOURS >=", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursLessThan(Double value) {
+            addCriterion("WTHOURS <", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursLessThanOrEqualTo(Double value) {
+            addCriterion("WTHOURS <=", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIn(List<Double> values) {
+            addCriterion("WTHOURS in", values, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotIn(List<Double> values) {
+            addCriterion("WTHOURS not in", values, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursBetween(Double value1, Double value2) {
+            addCriterion("WTHOURS between", value1, value2, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotBetween(Double value1, Double value2) {
+            addCriterion("WTHOURS not between", value1, value2, "wthours");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBMONTH
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 278 - 0
src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfDay.java

@@ -0,0 +1,278 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WpMttrAndMtbfDay implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.WPID
+     *
+     * @mbg.generated
+     */
+    private String wpid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.WPNAME
+     *
+     * @mbg.generated
+     */
+    private String wpname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.LOCATION
+     *
+     * @mbg.generated
+     */
+    private String location;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    private Date recorddate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    private Double stoprtimes;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFDAY.WTHOURS
+     *
+     * @mbg.generated
+     */
+    private Double wthours;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.ID
+     *
+     * @return the value of WPMTTRANDMTBFDAY.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.ID
+     *
+     * @param id the value for WPMTTRANDMTBFDAY.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.WPID
+     *
+     * @return the value of WPMTTRANDMTBFDAY.WPID
+     *
+     * @mbg.generated
+     */
+    public String getWpid() {
+        return wpid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.WPID
+     *
+     * @param wpid the value for WPMTTRANDMTBFDAY.WPID
+     *
+     * @mbg.generated
+     */
+    public void setWpid(String wpid) {
+        this.wpid = wpid == null ? null : wpid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.WPNAME
+     *
+     * @return the value of WPMTTRANDMTBFDAY.WPNAME
+     *
+     * @mbg.generated
+     */
+    public String getWpname() {
+        return wpname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.WPNAME
+     *
+     * @param wpname the value for WPMTTRANDMTBFDAY.WPNAME
+     *
+     * @mbg.generated
+     */
+    public void setWpname(String wpname) {
+        this.wpname = wpname == null ? null : wpname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.LOCATION
+     *
+     * @return the value of WPMTTRANDMTBFDAY.LOCATION
+     *
+     * @mbg.generated
+     */
+    public String getLocation() {
+        return location;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.LOCATION
+     *
+     * @param location the value for WPMTTRANDMTBFDAY.LOCATION
+     *
+     * @mbg.generated
+     */
+    public void setLocation(String location) {
+        this.location = location == null ? null : location.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @return the value of WPMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    public Date getRecorddate() {
+        return recorddate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @param recorddate the value for WPMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    public void setRecorddate(Date recorddate) {
+        this.recorddate = recorddate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @return the value of WPMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @param stophours the value for WPMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @return the value of WPMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public Double getStoprtimes() {
+        return stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @param stoprtimes the value for WPMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public void setStoprtimes(Double stoprtimes) {
+        this.stoprtimes = stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFDAY.WTHOURS
+     *
+     * @return the value of WPMTTRANDMTBFDAY.WTHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getWthours() {
+        return wthours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFDAY.WTHOURS
+     *
+     * @param wthours the value for WPMTTRANDMTBFDAY.WTHOURS
+     *
+     * @mbg.generated
+     */
+    public void setWthours(Double wthours) {
+        this.wthours = wthours;
+    }
+}

+ 823 - 0
src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfDayExample.java

@@ -0,0 +1,823 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class WpMttrAndMtbfDayExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public WpMttrAndMtbfDayExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIsNull() {
+            addCriterion("WPID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIsNotNull() {
+            addCriterion("WPID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidEqualTo(String value) {
+            addCriterion("WPID =", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotEqualTo(String value) {
+            addCriterion("WPID <>", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidGreaterThan(String value) {
+            addCriterion("WPID >", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidGreaterThanOrEqualTo(String value) {
+            addCriterion("WPID >=", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLessThan(String value) {
+            addCriterion("WPID <", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLessThanOrEqualTo(String value) {
+            addCriterion("WPID <=", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLike(String value) {
+            addCriterion("WPID like", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotLike(String value) {
+            addCriterion("WPID not like", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIn(List<String> values) {
+            addCriterion("WPID in", values, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotIn(List<String> values) {
+            addCriterion("WPID not in", values, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidBetween(String value1, String value2) {
+            addCriterion("WPID between", value1, value2, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotBetween(String value1, String value2) {
+            addCriterion("WPID not between", value1, value2, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNull() {
+            addCriterion("WPNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNotNull() {
+            addCriterion("WPNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameEqualTo(String value) {
+            addCriterion("WPNAME =", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotEqualTo(String value) {
+            addCriterion("WPNAME <>", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThan(String value) {
+            addCriterion("WPNAME >", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThanOrEqualTo(String value) {
+            addCriterion("WPNAME >=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThan(String value) {
+            addCriterion("WPNAME <", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThanOrEqualTo(String value) {
+            addCriterion("WPNAME <=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLike(String value) {
+            addCriterion("WPNAME like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotLike(String value) {
+            addCriterion("WPNAME not like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIn(List<String> values) {
+            addCriterion("WPNAME in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotIn(List<String> values) {
+            addCriterion("WPNAME not in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameBetween(String value1, String value2) {
+            addCriterion("WPNAME between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotBetween(String value1, String value2) {
+            addCriterion("WPNAME not between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIsNull() {
+            addCriterion("LOCATION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIsNotNull() {
+            addCriterion("LOCATION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationEqualTo(String value) {
+            addCriterion("LOCATION =", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotEqualTo(String value) {
+            addCriterion("LOCATION <>", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationGreaterThan(String value) {
+            addCriterion("LOCATION >", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationGreaterThanOrEqualTo(String value) {
+            addCriterion("LOCATION >=", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLessThan(String value) {
+            addCriterion("LOCATION <", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLessThanOrEqualTo(String value) {
+            addCriterion("LOCATION <=", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLike(String value) {
+            addCriterion("LOCATION like", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotLike(String value) {
+            addCriterion("LOCATION not like", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIn(List<String> values) {
+            addCriterion("LOCATION in", values, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotIn(List<String> values) {
+            addCriterion("LOCATION not in", values, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationBetween(String value1, String value2) {
+            addCriterion("LOCATION between", value1, value2, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotBetween(String value1, String value2) {
+            addCriterion("LOCATION not between", value1, value2, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIsNull() {
+            addCriterion("RECORDDATE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIsNotNull() {
+            addCriterion("RECORDDATE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateEqualTo(Date value) {
+            addCriterion("RECORDDATE =", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotEqualTo(Date value) {
+            addCriterion("RECORDDATE <>", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateGreaterThan(Date value) {
+            addCriterion("RECORDDATE >", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateGreaterThanOrEqualTo(Date value) {
+            addCriterion("RECORDDATE >=", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateLessThan(Date value) {
+            addCriterion("RECORDDATE <", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateLessThanOrEqualTo(Date value) {
+            addCriterion("RECORDDATE <=", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIn(List<Date> values) {
+            addCriterion("RECORDDATE in", values, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotIn(List<Date> values) {
+            addCriterion("RECORDDATE not in", values, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateBetween(Date value1, Date value2) {
+            addCriterion("RECORDDATE between", value1, value2, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotBetween(Date value1, Date value2) {
+            addCriterion("RECORDDATE not between", value1, value2, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNull() {
+            addCriterion("STOPHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNotNull() {
+            addCriterion("STOPHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursEqualTo(Double value) {
+            addCriterion("STOPHOURS =", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotEqualTo(Double value) {
+            addCriterion("STOPHOURS <>", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThan(Double value) {
+            addCriterion("STOPHOURS >", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS >=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThan(Double value) {
+            addCriterion("STOPHOURS <", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS <=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIn(List<Double> values) {
+            addCriterion("STOPHOURS in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotIn(List<Double> values) {
+            addCriterion("STOPHOURS not in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS not between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNull() {
+            addCriterion("STOPRTIMES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNotNull() {
+            addCriterion("STOPRTIMES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesEqualTo(Double value) {
+            addCriterion("STOPRTIMES =", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotEqualTo(Double value) {
+            addCriterion("STOPRTIMES <>", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThan(Double value) {
+            addCriterion("STOPRTIMES >", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES >=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThan(Double value) {
+            addCriterion("STOPRTIMES <", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES <=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIn(List<Double> values) {
+            addCriterion("STOPRTIMES in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotIn(List<Double> values) {
+            addCriterion("STOPRTIMES not in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES not between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIsNull() {
+            addCriterion("WTHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIsNotNull() {
+            addCriterion("WTHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursEqualTo(Double value) {
+            addCriterion("WTHOURS =", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotEqualTo(Double value) {
+            addCriterion("WTHOURS <>", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursGreaterThan(Double value) {
+            addCriterion("WTHOURS >", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("WTHOURS >=", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursLessThan(Double value) {
+            addCriterion("WTHOURS <", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursLessThanOrEqualTo(Double value) {
+            addCriterion("WTHOURS <=", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIn(List<Double> values) {
+            addCriterion("WTHOURS in", values, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotIn(List<Double> values) {
+            addCriterion("WTHOURS not in", values, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursBetween(Double value1, Double value2) {
+            addCriterion("WTHOURS between", value1, value2, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotBetween(Double value1, Double value2) {
+            addCriterion("WTHOURS not between", value1, value2, "wthours");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 277 - 0
src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfYear.java

@@ -0,0 +1,277 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class WpMttrAndMtbfYear implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.WPID
+     *
+     * @mbg.generated
+     */
+    private String wpid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.WPNAME
+     *
+     * @mbg.generated
+     */
+    private String wpname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.LOCATION
+     *
+     * @mbg.generated
+     */
+    private String location;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.YEAR
+     *
+     * @mbg.generated
+     */
+    private Long year;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    private Double stoprtimes;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WPMTTRANDMTBFYEAR.WTHOURS
+     *
+     * @mbg.generated
+     */
+    private Double wthours;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.ID
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.ID
+     *
+     * @param id the value for WPMTTRANDMTBFYEAR.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.WPID
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.WPID
+     *
+     * @mbg.generated
+     */
+    public String getWpid() {
+        return wpid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.WPID
+     *
+     * @param wpid the value for WPMTTRANDMTBFYEAR.WPID
+     *
+     * @mbg.generated
+     */
+    public void setWpid(String wpid) {
+        this.wpid = wpid == null ? null : wpid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.WPNAME
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.WPNAME
+     *
+     * @mbg.generated
+     */
+    public String getWpname() {
+        return wpname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.WPNAME
+     *
+     * @param wpname the value for WPMTTRANDMTBFYEAR.WPNAME
+     *
+     * @mbg.generated
+     */
+    public void setWpname(String wpname) {
+        this.wpname = wpname == null ? null : wpname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.LOCATION
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.LOCATION
+     *
+     * @mbg.generated
+     */
+    public String getLocation() {
+        return location;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.LOCATION
+     *
+     * @param location the value for WPMTTRANDMTBFYEAR.LOCATION
+     *
+     * @mbg.generated
+     */
+    public void setLocation(String location) {
+        this.location = location == null ? null : location.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.YEAR
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.YEAR
+     *
+     * @mbg.generated
+     */
+    public Long getYear() {
+        return year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.YEAR
+     *
+     * @param year the value for WPMTTRANDMTBFYEAR.YEAR
+     *
+     * @mbg.generated
+     */
+    public void setYear(Long year) {
+        this.year = year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @param stophours the value for WPMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public Double getStoprtimes() {
+        return stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @param stoprtimes the value for WPMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public void setStoprtimes(Double stoprtimes) {
+        this.stoprtimes = stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WPMTTRANDMTBFYEAR.WTHOURS
+     *
+     * @return the value of WPMTTRANDMTBFYEAR.WTHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getWthours() {
+        return wthours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WPMTTRANDMTBFYEAR.WTHOURS
+     *
+     * @param wthours the value for WPMTTRANDMTBFYEAR.WTHOURS
+     *
+     * @mbg.generated
+     */
+    public void setWthours(Double wthours) {
+        this.wthours = wthours;
+    }
+}

+ 822 - 0
src/main/java/com/gyee/frame/model/auto/WpMttrAndMtbfYearExample.java

@@ -0,0 +1,822 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WpMttrAndMtbfYearExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public WpMttrAndMtbfYearExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIsNull() {
+            addCriterion("WPID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIsNotNull() {
+            addCriterion("WPID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidEqualTo(String value) {
+            addCriterion("WPID =", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotEqualTo(String value) {
+            addCriterion("WPID <>", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidGreaterThan(String value) {
+            addCriterion("WPID >", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidGreaterThanOrEqualTo(String value) {
+            addCriterion("WPID >=", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLessThan(String value) {
+            addCriterion("WPID <", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLessThanOrEqualTo(String value) {
+            addCriterion("WPID <=", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidLike(String value) {
+            addCriterion("WPID like", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotLike(String value) {
+            addCriterion("WPID not like", value, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidIn(List<String> values) {
+            addCriterion("WPID in", values, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotIn(List<String> values) {
+            addCriterion("WPID not in", values, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidBetween(String value1, String value2) {
+            addCriterion("WPID between", value1, value2, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpidNotBetween(String value1, String value2) {
+            addCriterion("WPID not between", value1, value2, "wpid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNull() {
+            addCriterion("WPNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNotNull() {
+            addCriterion("WPNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameEqualTo(String value) {
+            addCriterion("WPNAME =", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotEqualTo(String value) {
+            addCriterion("WPNAME <>", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThan(String value) {
+            addCriterion("WPNAME >", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThanOrEqualTo(String value) {
+            addCriterion("WPNAME >=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThan(String value) {
+            addCriterion("WPNAME <", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThanOrEqualTo(String value) {
+            addCriterion("WPNAME <=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLike(String value) {
+            addCriterion("WPNAME like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotLike(String value) {
+            addCriterion("WPNAME not like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIn(List<String> values) {
+            addCriterion("WPNAME in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotIn(List<String> values) {
+            addCriterion("WPNAME not in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameBetween(String value1, String value2) {
+            addCriterion("WPNAME between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotBetween(String value1, String value2) {
+            addCriterion("WPNAME not between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIsNull() {
+            addCriterion("LOCATION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIsNotNull() {
+            addCriterion("LOCATION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationEqualTo(String value) {
+            addCriterion("LOCATION =", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotEqualTo(String value) {
+            addCriterion("LOCATION <>", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationGreaterThan(String value) {
+            addCriterion("LOCATION >", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationGreaterThanOrEqualTo(String value) {
+            addCriterion("LOCATION >=", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLessThan(String value) {
+            addCriterion("LOCATION <", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLessThanOrEqualTo(String value) {
+            addCriterion("LOCATION <=", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationLike(String value) {
+            addCriterion("LOCATION like", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotLike(String value) {
+            addCriterion("LOCATION not like", value, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationIn(List<String> values) {
+            addCriterion("LOCATION in", values, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotIn(List<String> values) {
+            addCriterion("LOCATION not in", values, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationBetween(String value1, String value2) {
+            addCriterion("LOCATION between", value1, value2, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andLocationNotBetween(String value1, String value2) {
+            addCriterion("LOCATION not between", value1, value2, "location");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNull() {
+            addCriterion("YEAR is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNotNull() {
+            addCriterion("YEAR is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearEqualTo(Long value) {
+            addCriterion("YEAR =", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotEqualTo(Long value) {
+            addCriterion("YEAR <>", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThan(Long value) {
+            addCriterion("YEAR >", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThanOrEqualTo(Long value) {
+            addCriterion("YEAR >=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThan(Long value) {
+            addCriterion("YEAR <", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThanOrEqualTo(Long value) {
+            addCriterion("YEAR <=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIn(List<Long> values) {
+            addCriterion("YEAR in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotIn(List<Long> values) {
+            addCriterion("YEAR not in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearBetween(Long value1, Long value2) {
+            addCriterion("YEAR between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotBetween(Long value1, Long value2) {
+            addCriterion("YEAR not between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNull() {
+            addCriterion("STOPHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNotNull() {
+            addCriterion("STOPHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursEqualTo(Double value) {
+            addCriterion("STOPHOURS =", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotEqualTo(Double value) {
+            addCriterion("STOPHOURS <>", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThan(Double value) {
+            addCriterion("STOPHOURS >", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS >=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThan(Double value) {
+            addCriterion("STOPHOURS <", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS <=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIn(List<Double> values) {
+            addCriterion("STOPHOURS in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotIn(List<Double> values) {
+            addCriterion("STOPHOURS not in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS not between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNull() {
+            addCriterion("STOPRTIMES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNotNull() {
+            addCriterion("STOPRTIMES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesEqualTo(Double value) {
+            addCriterion("STOPRTIMES =", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotEqualTo(Double value) {
+            addCriterion("STOPRTIMES <>", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThan(Double value) {
+            addCriterion("STOPRTIMES >", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES >=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThan(Double value) {
+            addCriterion("STOPRTIMES <", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES <=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIn(List<Double> values) {
+            addCriterion("STOPRTIMES in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotIn(List<Double> values) {
+            addCriterion("STOPRTIMES not in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES not between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIsNull() {
+            addCriterion("WTHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIsNotNull() {
+            addCriterion("WTHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursEqualTo(Double value) {
+            addCriterion("WTHOURS =", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotEqualTo(Double value) {
+            addCriterion("WTHOURS <>", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursGreaterThan(Double value) {
+            addCriterion("WTHOURS >", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("WTHOURS >=", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursLessThan(Double value) {
+            addCriterion("WTHOURS <", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursLessThanOrEqualTo(Double value) {
+            addCriterion("WTHOURS <=", value, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursIn(List<Double> values) {
+            addCriterion("WTHOURS in", values, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotIn(List<Double> values) {
+            addCriterion("WTHOURS not in", values, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursBetween(Double value1, Double value2) {
+            addCriterion("WTHOURS between", value1, value2, "wthours");
+            return (Criteria) this;
+        }
+
+        public Criteria andWthoursNotBetween(Double value1, Double value2) {
+            addCriterion("WTHOURS not between", value1, value2, "wthours");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WPMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 212 - 0
src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfDay.java

@@ -0,0 +1,212 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WtMttrAndMtbfDay implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFDAY.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFDAY.WTID
+     *
+     * @mbg.generated
+     */
+    private String wtid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFDAY.WPNAME
+     *
+     * @mbg.generated
+     */
+    private String wpname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    private Date recorddate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    private Double stoprtimes;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFDAY.ID
+     *
+     * @return the value of WTMTTRANDMTBFDAY.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFDAY.ID
+     *
+     * @param id the value for WTMTTRANDMTBFDAY.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFDAY.WTID
+     *
+     * @return the value of WTMTTRANDMTBFDAY.WTID
+     *
+     * @mbg.generated
+     */
+    public String getWtid() {
+        return wtid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFDAY.WTID
+     *
+     * @param wtid the value for WTMTTRANDMTBFDAY.WTID
+     *
+     * @mbg.generated
+     */
+    public void setWtid(String wtid) {
+        this.wtid = wtid == null ? null : wtid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFDAY.WPNAME
+     *
+     * @return the value of WTMTTRANDMTBFDAY.WPNAME
+     *
+     * @mbg.generated
+     */
+    public String getWpname() {
+        return wpname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFDAY.WPNAME
+     *
+     * @param wpname the value for WTMTTRANDMTBFDAY.WPNAME
+     *
+     * @mbg.generated
+     */
+    public void setWpname(String wpname) {
+        this.wpname = wpname == null ? null : wpname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @return the value of WTMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    public Date getRecorddate() {
+        return recorddate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @param recorddate the value for WTMTTRANDMTBFDAY.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    public void setRecorddate(Date recorddate) {
+        this.recorddate = recorddate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @return the value of WTMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @param stophours the value for WTMTTRANDMTBFDAY.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @return the value of WTMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public Double getStoprtimes() {
+        return stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @param stoprtimes the value for WTMTTRANDMTBFDAY.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public void setStoprtimes(Double stoprtimes) {
+        this.stoprtimes = stoprtimes;
+    }
+}

+ 693 - 0
src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfDayExample.java

@@ -0,0 +1,693 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class WtMttrAndMtbfDayExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public WtMttrAndMtbfDayExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNull() {
+            addCriterion("WTID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNotNull() {
+            addCriterion("WTID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidEqualTo(String value) {
+            addCriterion("WTID =", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotEqualTo(String value) {
+            addCriterion("WTID <>", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThan(String value) {
+            addCriterion("WTID >", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThanOrEqualTo(String value) {
+            addCriterion("WTID >=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThan(String value) {
+            addCriterion("WTID <", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThanOrEqualTo(String value) {
+            addCriterion("WTID <=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLike(String value) {
+            addCriterion("WTID like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotLike(String value) {
+            addCriterion("WTID not like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIn(List<String> values) {
+            addCriterion("WTID in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotIn(List<String> values) {
+            addCriterion("WTID not in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidBetween(String value1, String value2) {
+            addCriterion("WTID between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotBetween(String value1, String value2) {
+            addCriterion("WTID not between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNull() {
+            addCriterion("WPNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNotNull() {
+            addCriterion("WPNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameEqualTo(String value) {
+            addCriterion("WPNAME =", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotEqualTo(String value) {
+            addCriterion("WPNAME <>", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThan(String value) {
+            addCriterion("WPNAME >", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThanOrEqualTo(String value) {
+            addCriterion("WPNAME >=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThan(String value) {
+            addCriterion("WPNAME <", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThanOrEqualTo(String value) {
+            addCriterion("WPNAME <=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLike(String value) {
+            addCriterion("WPNAME like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotLike(String value) {
+            addCriterion("WPNAME not like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIn(List<String> values) {
+            addCriterion("WPNAME in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotIn(List<String> values) {
+            addCriterion("WPNAME not in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameBetween(String value1, String value2) {
+            addCriterion("WPNAME between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotBetween(String value1, String value2) {
+            addCriterion("WPNAME not between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIsNull() {
+            addCriterion("RECORDDATE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIsNotNull() {
+            addCriterion("RECORDDATE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateEqualTo(Date value) {
+            addCriterion("RECORDDATE =", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotEqualTo(Date value) {
+            addCriterion("RECORDDATE <>", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateGreaterThan(Date value) {
+            addCriterion("RECORDDATE >", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateGreaterThanOrEqualTo(Date value) {
+            addCriterion("RECORDDATE >=", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateLessThan(Date value) {
+            addCriterion("RECORDDATE <", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateLessThanOrEqualTo(Date value) {
+            addCriterion("RECORDDATE <=", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIn(List<Date> values) {
+            addCriterion("RECORDDATE in", values, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotIn(List<Date> values) {
+            addCriterion("RECORDDATE not in", values, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateBetween(Date value1, Date value2) {
+            addCriterion("RECORDDATE between", value1, value2, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotBetween(Date value1, Date value2) {
+            addCriterion("RECORDDATE not between", value1, value2, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNull() {
+            addCriterion("STOPHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNotNull() {
+            addCriterion("STOPHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursEqualTo(Double value) {
+            addCriterion("STOPHOURS =", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotEqualTo(Double value) {
+            addCriterion("STOPHOURS <>", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThan(Double value) {
+            addCriterion("STOPHOURS >", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS >=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThan(Double value) {
+            addCriterion("STOPHOURS <", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS <=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIn(List<Double> values) {
+            addCriterion("STOPHOURS in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotIn(List<Double> values) {
+            addCriterion("STOPHOURS not in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS not between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNull() {
+            addCriterion("STOPRTIMES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNotNull() {
+            addCriterion("STOPRTIMES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesEqualTo(Double value) {
+            addCriterion("STOPRTIMES =", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotEqualTo(Double value) {
+            addCriterion("STOPRTIMES <>", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThan(Double value) {
+            addCriterion("STOPRTIMES >", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES >=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThan(Double value) {
+            addCriterion("STOPRTIMES <", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES <=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIn(List<Double> values) {
+            addCriterion("STOPRTIMES in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotIn(List<Double> values) {
+            addCriterion("STOPRTIMES not in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES not between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFDAY
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 244 - 0
src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfMonth.java

@@ -0,0 +1,244 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class WtMttrAndMtbfMonth implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFMONTH.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFMONTH.WTID
+     *
+     * @mbg.generated
+     */
+    private String wtid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFMONTH.WPNAME
+     *
+     * @mbg.generated
+     */
+    private String wpname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFMONTH.YEAR
+     *
+     * @mbg.generated
+     */
+    private Long year;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFMONTH.MONTH
+     *
+     * @mbg.generated
+     */
+    private Long month;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFMONTH.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFMONTH.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    private Double stoprtimes;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFMONTH.ID
+     *
+     * @return the value of WTMTTRANDMTBFMONTH.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFMONTH.ID
+     *
+     * @param id the value for WTMTTRANDMTBFMONTH.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFMONTH.WTID
+     *
+     * @return the value of WTMTTRANDMTBFMONTH.WTID
+     *
+     * @mbg.generated
+     */
+    public String getWtid() {
+        return wtid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFMONTH.WTID
+     *
+     * @param wtid the value for WTMTTRANDMTBFMONTH.WTID
+     *
+     * @mbg.generated
+     */
+    public void setWtid(String wtid) {
+        this.wtid = wtid == null ? null : wtid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFMONTH.WPNAME
+     *
+     * @return the value of WTMTTRANDMTBFMONTH.WPNAME
+     *
+     * @mbg.generated
+     */
+    public String getWpname() {
+        return wpname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFMONTH.WPNAME
+     *
+     * @param wpname the value for WTMTTRANDMTBFMONTH.WPNAME
+     *
+     * @mbg.generated
+     */
+    public void setWpname(String wpname) {
+        this.wpname = wpname == null ? null : wpname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFMONTH.YEAR
+     *
+     * @return the value of WTMTTRANDMTBFMONTH.YEAR
+     *
+     * @mbg.generated
+     */
+    public Long getYear() {
+        return year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFMONTH.YEAR
+     *
+     * @param year the value for WTMTTRANDMTBFMONTH.YEAR
+     *
+     * @mbg.generated
+     */
+    public void setYear(Long year) {
+        this.year = year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFMONTH.MONTH
+     *
+     * @return the value of WTMTTRANDMTBFMONTH.MONTH
+     *
+     * @mbg.generated
+     */
+    public Long getMonth() {
+        return month;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFMONTH.MONTH
+     *
+     * @param month the value for WTMTTRANDMTBFMONTH.MONTH
+     *
+     * @mbg.generated
+     */
+    public void setMonth(Long month) {
+        this.month = month;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFMONTH.STOPHOURS
+     *
+     * @return the value of WTMTTRANDMTBFMONTH.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFMONTH.STOPHOURS
+     *
+     * @param stophours the value for WTMTTRANDMTBFMONTH.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFMONTH.STOPRTIMES
+     *
+     * @return the value of WTMTTRANDMTBFMONTH.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public Double getStoprtimes() {
+        return stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFMONTH.STOPRTIMES
+     *
+     * @param stoprtimes the value for WTMTTRANDMTBFMONTH.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public void setStoprtimes(Double stoprtimes) {
+        this.stoprtimes = stoprtimes;
+    }
+}

+ 752 - 0
src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfMonthExample.java

@@ -0,0 +1,752 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WtMttrAndMtbfMonthExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public WtMttrAndMtbfMonthExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNull() {
+            addCriterion("WTID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNotNull() {
+            addCriterion("WTID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidEqualTo(String value) {
+            addCriterion("WTID =", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotEqualTo(String value) {
+            addCriterion("WTID <>", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThan(String value) {
+            addCriterion("WTID >", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThanOrEqualTo(String value) {
+            addCriterion("WTID >=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThan(String value) {
+            addCriterion("WTID <", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThanOrEqualTo(String value) {
+            addCriterion("WTID <=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLike(String value) {
+            addCriterion("WTID like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotLike(String value) {
+            addCriterion("WTID not like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIn(List<String> values) {
+            addCriterion("WTID in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotIn(List<String> values) {
+            addCriterion("WTID not in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidBetween(String value1, String value2) {
+            addCriterion("WTID between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotBetween(String value1, String value2) {
+            addCriterion("WTID not between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNull() {
+            addCriterion("WPNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNotNull() {
+            addCriterion("WPNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameEqualTo(String value) {
+            addCriterion("WPNAME =", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotEqualTo(String value) {
+            addCriterion("WPNAME <>", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThan(String value) {
+            addCriterion("WPNAME >", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThanOrEqualTo(String value) {
+            addCriterion("WPNAME >=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThan(String value) {
+            addCriterion("WPNAME <", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThanOrEqualTo(String value) {
+            addCriterion("WPNAME <=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLike(String value) {
+            addCriterion("WPNAME like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotLike(String value) {
+            addCriterion("WPNAME not like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIn(List<String> values) {
+            addCriterion("WPNAME in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotIn(List<String> values) {
+            addCriterion("WPNAME not in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameBetween(String value1, String value2) {
+            addCriterion("WPNAME between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotBetween(String value1, String value2) {
+            addCriterion("WPNAME not between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNull() {
+            addCriterion("YEAR is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNotNull() {
+            addCriterion("YEAR is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearEqualTo(Integer value) {
+            addCriterion("YEAR =", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotEqualTo(Integer value) {
+            addCriterion("YEAR <>", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThan(Integer value) {
+            addCriterion("YEAR >", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThanOrEqualTo(Integer value) {
+            addCriterion("YEAR >=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThan(Integer value) {
+            addCriterion("YEAR <", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThanOrEqualTo(Integer value) {
+            addCriterion("YEAR <=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIn(List<Integer> values) {
+            addCriterion("YEAR in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotIn(List<Integer> values) {
+            addCriterion("YEAR not in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearBetween(Integer value1, Integer value2) {
+            addCriterion("YEAR between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotBetween(Integer value1, Integer value2) {
+            addCriterion("YEAR not between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIsNull() {
+            addCriterion("MONTH is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIsNotNull() {
+            addCriterion("MONTH is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthEqualTo(Integer value) {
+            addCriterion("MONTH =", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotEqualTo(Integer value) {
+            addCriterion("MONTH <>", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthGreaterThan(Integer value) {
+            addCriterion("MONTH >", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthGreaterThanOrEqualTo(Integer value) {
+            addCriterion("MONTH >=", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthLessThan(Integer value) {
+            addCriterion("MONTH <", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthLessThanOrEqualTo(Integer value) {
+            addCriterion("MONTH <=", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIn(List<Integer> values) {
+            addCriterion("MONTH in", values, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotIn(List<Integer> values) {
+            addCriterion("MONTH not in", values, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthBetween(Integer value1, Integer value2) {
+            addCriterion("MONTH between", value1, value2, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotBetween(Integer value1, Integer value2) {
+            addCriterion("MONTH not between", value1, value2, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNull() {
+            addCriterion("STOPHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNotNull() {
+            addCriterion("STOPHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursEqualTo(Double value) {
+            addCriterion("STOPHOURS =", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotEqualTo(Double value) {
+            addCriterion("STOPHOURS <>", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThan(Double value) {
+            addCriterion("STOPHOURS >", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS >=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThan(Double value) {
+            addCriterion("STOPHOURS <", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS <=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIn(List<Double> values) {
+            addCriterion("STOPHOURS in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotIn(List<Double> values) {
+            addCriterion("STOPHOURS not in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS not between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNull() {
+            addCriterion("STOPRTIMES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNotNull() {
+            addCriterion("STOPRTIMES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesEqualTo(Double value) {
+            addCriterion("STOPRTIMES =", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotEqualTo(Double value) {
+            addCriterion("STOPRTIMES <>", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThan(Double value) {
+            addCriterion("STOPRTIMES >", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES >=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThan(Double value) {
+            addCriterion("STOPRTIMES <", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES <=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIn(List<Double> values) {
+            addCriterion("STOPRTIMES in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotIn(List<Double> values) {
+            addCriterion("STOPRTIMES not in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES not between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFMONTH
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 211 - 0
src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfYear.java

@@ -0,0 +1,211 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class WtMttrAndMtbfYear implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFYEAR.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFYEAR.WTID
+     *
+     * @mbg.generated
+     */
+    private String wtid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFYEAR.WPNAME
+     *
+     * @mbg.generated
+     */
+    private String wpname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFYEAR.YEAR
+     *
+     * @mbg.generated
+     */
+    private Long year;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WTMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    private Double stoprtimes;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFYEAR.ID
+     *
+     * @return the value of WTMTTRANDMTBFYEAR.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFYEAR.ID
+     *
+     * @param id the value for WTMTTRANDMTBFYEAR.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFYEAR.WTID
+     *
+     * @return the value of WTMTTRANDMTBFYEAR.WTID
+     *
+     * @mbg.generated
+     */
+    public String getWtid() {
+        return wtid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFYEAR.WTID
+     *
+     * @param wtid the value for WTMTTRANDMTBFYEAR.WTID
+     *
+     * @mbg.generated
+     */
+    public void setWtid(String wtid) {
+        this.wtid = wtid == null ? null : wtid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFYEAR.WPNAME
+     *
+     * @return the value of WTMTTRANDMTBFYEAR.WPNAME
+     *
+     * @mbg.generated
+     */
+    public String getWpname() {
+        return wpname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFYEAR.WPNAME
+     *
+     * @param wpname the value for WTMTTRANDMTBFYEAR.WPNAME
+     *
+     * @mbg.generated
+     */
+    public void setWpname(String wpname) {
+        this.wpname = wpname == null ? null : wpname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFYEAR.YEAR
+     *
+     * @return the value of WTMTTRANDMTBFYEAR.YEAR
+     *
+     * @mbg.generated
+     */
+    public Long getYear() {
+        return year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFYEAR.YEAR
+     *
+     * @param year the value for WTMTTRANDMTBFYEAR.YEAR
+     *
+     * @mbg.generated
+     */
+    public void setYear(Long year) {
+        this.year = year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @return the value of WTMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @param stophours the value for WTMTTRANDMTBFYEAR.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WTMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @return the value of WTMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public Double getStoprtimes() {
+        return stoprtimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WTMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @param stoprtimes the value for WTMTTRANDMTBFYEAR.STOPRTIMES
+     *
+     * @mbg.generated
+     */
+    public void setStoprtimes(Double stoprtimes) {
+        this.stoprtimes = stoprtimes;
+    }
+}

+ 692 - 0
src/main/java/com/gyee/frame/model/auto/WtMttrAndMtbfYearExample.java

@@ -0,0 +1,692 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WtMttrAndMtbfYearExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public WtMttrAndMtbfYearExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNull() {
+            addCriterion("WTID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNotNull() {
+            addCriterion("WTID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidEqualTo(String value) {
+            addCriterion("WTID =", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotEqualTo(String value) {
+            addCriterion("WTID <>", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThan(String value) {
+            addCriterion("WTID >", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThanOrEqualTo(String value) {
+            addCriterion("WTID >=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThan(String value) {
+            addCriterion("WTID <", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThanOrEqualTo(String value) {
+            addCriterion("WTID <=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLike(String value) {
+            addCriterion("WTID like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotLike(String value) {
+            addCriterion("WTID not like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIn(List<String> values) {
+            addCriterion("WTID in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotIn(List<String> values) {
+            addCriterion("WTID not in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidBetween(String value1, String value2) {
+            addCriterion("WTID between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotBetween(String value1, String value2) {
+            addCriterion("WTID not between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNull() {
+            addCriterion("WPNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIsNotNull() {
+            addCriterion("WPNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameEqualTo(String value) {
+            addCriterion("WPNAME =", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotEqualTo(String value) {
+            addCriterion("WPNAME <>", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThan(String value) {
+            addCriterion("WPNAME >", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameGreaterThanOrEqualTo(String value) {
+            addCriterion("WPNAME >=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThan(String value) {
+            addCriterion("WPNAME <", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLessThanOrEqualTo(String value) {
+            addCriterion("WPNAME <=", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameLike(String value) {
+            addCriterion("WPNAME like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotLike(String value) {
+            addCriterion("WPNAME not like", value, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameIn(List<String> values) {
+            addCriterion("WPNAME in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotIn(List<String> values) {
+            addCriterion("WPNAME not in", values, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameBetween(String value1, String value2) {
+            addCriterion("WPNAME between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWpnameNotBetween(String value1, String value2) {
+            addCriterion("WPNAME not between", value1, value2, "wpname");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNull() {
+            addCriterion("YEAR is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNotNull() {
+            addCriterion("YEAR is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearEqualTo(Long value) {
+            addCriterion("YEAR =", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotEqualTo(Long value) {
+            addCriterion("YEAR <>", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThan(Long value) {
+            addCriterion("YEAR >", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThanOrEqualTo(Long value) {
+            addCriterion("YEAR >=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThan(Long value) {
+            addCriterion("YEAR <", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThanOrEqualTo(Long value) {
+            addCriterion("YEAR <=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIn(List<Long> values) {
+            addCriterion("YEAR in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotIn(List<Long> values) {
+            addCriterion("YEAR not in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearBetween(Long value1, Long value2) {
+            addCriterion("YEAR between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotBetween(Long value1, Long value2) {
+            addCriterion("YEAR not between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNull() {
+            addCriterion("STOPHOURS is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIsNotNull() {
+            addCriterion("STOPHOURS is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursEqualTo(Double value) {
+            addCriterion("STOPHOURS =", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotEqualTo(Double value) {
+            addCriterion("STOPHOURS <>", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThan(Double value) {
+            addCriterion("STOPHOURS >", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS >=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThan(Double value) {
+            addCriterion("STOPHOURS <", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursLessThanOrEqualTo(Double value) {
+            addCriterion("STOPHOURS <=", value, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursIn(List<Double> values) {
+            addCriterion("STOPHOURS in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotIn(List<Double> values) {
+            addCriterion("STOPHOURS not in", values, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStophoursNotBetween(Double value1, Double value2) {
+            addCriterion("STOPHOURS not between", value1, value2, "stophours");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNull() {
+            addCriterion("STOPRTIMES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIsNotNull() {
+            addCriterion("STOPRTIMES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesEqualTo(Double value) {
+            addCriterion("STOPRTIMES =", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotEqualTo(Double value) {
+            addCriterion("STOPRTIMES <>", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThan(Double value) {
+            addCriterion("STOPRTIMES >", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesGreaterThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES >=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThan(Double value) {
+            addCriterion("STOPRTIMES <", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesLessThanOrEqualTo(Double value) {
+            addCriterion("STOPRTIMES <=", value, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesIn(List<Double> values) {
+            addCriterion("STOPRTIMES in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotIn(List<Double> values) {
+            addCriterion("STOPRTIMES not in", values, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+
+        public Criteria andStoprtimesNotBetween(Double value1, Double value2) {
+            addCriterion("STOPRTIMES not between", value1, value2, "stoprtimes");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WTMTTRANDMTBFYEAR
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 70 - 0
src/main/java/com/gyee/frame/model/custom/resultVo.java

@@ -0,0 +1,70 @@
+package com.gyee.frame.model.custom;
+
+public class resultVo {
+	private String value1;
+	private String value2;
+	private String value3;
+	private String value4;
+	private String value5;
+	private String value6;
+	private String value7;
+	private String value8;
+	private String value9;
+	public String getValue1() {
+		return value1;
+	}
+	public void setValue1(String value1) {
+		this.value1 = value1;
+	}
+	public String getValue2() {
+		return value2;
+	}
+	public void setValue2(String value2) {
+		this.value2 = value2;
+	}
+	public String getValue3() {
+		return value3;
+	}
+	public void setValue3(String value3) {
+		this.value3 = value3;
+	}
+	public String getValue4() {
+		return value4;
+	}
+	public void setValue4(String value4) {
+		this.value4 = value4;
+	}
+	public String getValue5() {
+		return value5;
+	}
+	public void setValue5(String value5) {
+		this.value5 = value5;
+	}
+	public String getValue6() {
+		return value6;
+	}
+	public void setValue6(String value6) {
+		this.value6 = value6;
+	}
+	public String getValue7() {
+		return value7;
+	}
+	public void setValue7(String value7) {
+		this.value7 = value7;
+	}
+	public String getValue8() {
+		return value8;
+	}
+	public void setValue8(String value8) {
+		this.value8 = value8;
+	}
+	public String getValue9() {
+		return value9;
+	}
+	public void setValue9(String value9) {
+		this.value9 = value9;
+	}
+	
+	
+
+}

+ 30 - 0
src/main/java/com/gyee/frame/service/ProjectPlanService.java

@@ -119,6 +119,36 @@ public class ProjectPlanService implements BaseService<ProjectPlan, ProjectPlanE
 		return list;
 
 	}
+
+	public List<ProjectPlan> getProjectPlanListByTypeId(String year,String id) {
+
+
+		List<ProjectPlan> list=new ArrayList<>();
+
+		if (StringUtils.notEmp(year) && StringUtils.notEmp(id)  ) {
+
+			ProjectPlanExample example=new ProjectPlanExample();
+			example.setOrderByClause("projectid DESC");
+
+			ProjectPlanExample.Criteria criteria =example.createCriteria();
+
+			criteria.andYearEqualTo(year);
+			if(InitialRunner.wpmap.containsKey(id))
+			{
+				criteria.andWindpowerEqualTo(id);
+			}else if(InitialRunner.pjmap.containsKey(id))
+			{
+				criteria.andProjectidEqualTo(id);
+			}
+
+			criteria.andMonthIsNotNull();
+
+			list= projectPlanMapper.selectByExample(example);
+
+		}
+		return list;
+
+	}
     public List<ProjectPlanVo> getProjectPlanVo(String wpId, String pjId, String year) {
 
 		List<ProjectPlanVo> result=new ArrayList<>();

+ 122 - 0
src/main/java/com/gyee/frame/service/WpMttrAndMtbMonthService.java

@@ -0,0 +1,122 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WpMttrAndMtbMonthMapper;
+import com.gyee.frame.model.auto.WpMttrAndMtbMonth;
+import com.gyee.frame.model.auto.WpMttrAndMtbMonthExample;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 线路 WpMttrAndMtbMonthService
+ * @Title: WpMttrAndMtbMonthService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class WpMttrAndMtbMonthService implements BaseService<WpMttrAndMtbMonth, WpMttrAndMtbMonthExample> {
+	@Resource
+	private WpMttrAndMtbMonthMapper wpMttrAndMtbMonthMapper;
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			WpMttrAndMtbMonthExample example=new WpMttrAndMtbMonthExample();
+			example.createCriteria().andIdIn(lista);
+			return wpMttrAndMtbMonthMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public WpMttrAndMtbMonth selectByPrimaryKey(String id) {
+				
+			return wpMttrAndMtbMonthMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(WpMttrAndMtbMonth record) {
+		return wpMttrAndMtbMonthMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WpMttrAndMtbMonth record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return wpMttrAndMtbMonthMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(WpMttrAndMtbMonth record, WpMttrAndMtbMonthExample example) {
+		
+		return wpMttrAndMtbMonthMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(WpMttrAndMtbMonth record, WpMttrAndMtbMonthExample example) {
+		
+		return wpMttrAndMtbMonthMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WpMttrAndMtbMonth> selectByExample(WpMttrAndMtbMonthExample example) {
+		
+		return wpMttrAndMtbMonthMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WpMttrAndMtbMonthExample example) {
+		
+		return wpMttrAndMtbMonthMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WpMttrAndMtbMonthExample example) {
+		
+		return wpMttrAndMtbMonthMapper.deleteByExample(example);
+	}
+
+
+	public List<WpMttrAndMtbMonth> getMttrAndMtbf(String wpId, Integer year, Integer month)  {
+		List<WpMttrAndMtbMonth> list=null;
+
+		WpMttrAndMtbMonthExample example=new WpMttrAndMtbMonthExample();
+		example.setOrderByClause("wpId ASC");
+
+		if(StringUtils.notEmp(year) && StringUtils.notEmp(month) &&  StringUtils.notEmp(wpId)){
+
+
+			example.createCriteria().andWpidEqualTo(wpId).andYearEqualTo(year).andMonthEqualTo(month);
+			list= wpMttrAndMtbMonthMapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+
+		return list;
+	}
+
+}

+ 103 - 0
src/main/java/com/gyee/frame/service/WpMttrAndMtbfDayService.java

@@ -0,0 +1,103 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WpMttrAndMtbfDayMapper;
+import com.gyee.frame.model.auto.WpMttrAndMtbfDay;
+import com.gyee.frame.model.auto.WpMttrAndMtbfDayExample;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 线路 WpMttrAndMtbfDayService
+ * @Title: WpMttrAndMtbfDayService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class WpMttrAndMtbfDayService implements BaseService<WpMttrAndMtbfDay, WpMttrAndMtbfDayExample> {
+	@Resource
+	private WpMttrAndMtbfDayMapper wpMttrAndMtbfDayMapper;
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			WpMttrAndMtbfDayExample example=new WpMttrAndMtbfDayExample();
+			example.createCriteria().andIdIn(lista);
+			return wpMttrAndMtbfDayMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public WpMttrAndMtbfDay selectByPrimaryKey(String id) {
+				
+			return wpMttrAndMtbfDayMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(WpMttrAndMtbfDay record) {
+		return wpMttrAndMtbfDayMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WpMttrAndMtbfDay record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return wpMttrAndMtbfDayMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(WpMttrAndMtbfDay record, WpMttrAndMtbfDayExample example) {
+		
+		return wpMttrAndMtbfDayMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(WpMttrAndMtbfDay record, WpMttrAndMtbfDayExample example) {
+		
+		return wpMttrAndMtbfDayMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WpMttrAndMtbfDay> selectByExample(WpMttrAndMtbfDayExample example) {
+		
+		return wpMttrAndMtbfDayMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WpMttrAndMtbfDayExample example) {
+		
+		return wpMttrAndMtbfDayMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WpMttrAndMtbfDayExample example) {
+		
+		return wpMttrAndMtbfDayMapper.deleteByExample(example);
+	}
+	
+
+
+
+}

+ 103 - 0
src/main/java/com/gyee/frame/service/WpMttrAndMtbfYearService.java

@@ -0,0 +1,103 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WpMttrAndMtbfYearMapper;
+import com.gyee.frame.model.auto.WpMttrAndMtbfYear;
+import com.gyee.frame.model.auto.WpMttrAndMtbfYearExample;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 线路 WpMttrAndMtbfYearService
+ * @Title: WpMttrAndMtbfYearService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class WpMttrAndMtbfYearService implements BaseService<WpMttrAndMtbfYear, WpMttrAndMtbfYearExample> {
+	@Resource
+	private WpMttrAndMtbfYearMapper wpMttrAndMtbfYearMapper;
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			WpMttrAndMtbfYearExample example=new WpMttrAndMtbfYearExample();
+			example.createCriteria().andIdIn(lista);
+			return wpMttrAndMtbfYearMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public WpMttrAndMtbfYear selectByPrimaryKey(String id) {
+				
+			return wpMttrAndMtbfYearMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(WpMttrAndMtbfYear record) {
+		return wpMttrAndMtbfYearMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WpMttrAndMtbfYear record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return wpMttrAndMtbfYearMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(WpMttrAndMtbfYear record, WpMttrAndMtbfYearExample example) {
+		
+		return wpMttrAndMtbfYearMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(WpMttrAndMtbfYear record, WpMttrAndMtbfYearExample example) {
+		
+		return wpMttrAndMtbfYearMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WpMttrAndMtbfYear> selectByExample(WpMttrAndMtbfYearExample example) {
+		
+		return wpMttrAndMtbfYearMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WpMttrAndMtbfYearExample example) {
+		
+		return wpMttrAndMtbfYearMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WpMttrAndMtbfYearExample example) {
+		
+		return wpMttrAndMtbfYearMapper.deleteByExample(example);
+	}
+	
+
+
+
+}

+ 103 - 0
src/main/java/com/gyee/frame/service/WtMttrAndMtbfDayService.java

@@ -0,0 +1,103 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WtMttrAndMtbfDayMapper;
+import com.gyee.frame.model.auto.WtMttrAndMtbfDay;
+import com.gyee.frame.model.auto.WtMttrAndMtbfDayExample;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 线路 WtMttrAndMtbfDayService
+ * @Title: WtMttrAndMtbfDayService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class WtMttrAndMtbfDayService implements BaseService<WtMttrAndMtbfDay, WtMttrAndMtbfDayExample> {
+	@Resource
+	private WtMttrAndMtbfDayMapper wtMttrAndMtbfDayMapper;
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			WtMttrAndMtbfDayExample example=new WtMttrAndMtbfDayExample();
+			example.createCriteria().andIdIn(lista);
+			return wtMttrAndMtbfDayMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public WtMttrAndMtbfDay selectByPrimaryKey(String id) {
+				
+			return wtMttrAndMtbfDayMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(WtMttrAndMtbfDay record) {
+		return wtMttrAndMtbfDayMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WtMttrAndMtbfDay record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return wtMttrAndMtbfDayMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(WtMttrAndMtbfDay record, WtMttrAndMtbfDayExample example) {
+		
+		return wtMttrAndMtbfDayMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(WtMttrAndMtbfDay record, WtMttrAndMtbfDayExample example) {
+		
+		return wtMttrAndMtbfDayMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WtMttrAndMtbfDay> selectByExample(WtMttrAndMtbfDayExample example) {
+		
+		return wtMttrAndMtbfDayMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WtMttrAndMtbfDayExample example) {
+		
+		return wtMttrAndMtbfDayMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WtMttrAndMtbfDayExample example) {
+		
+		return wtMttrAndMtbfDayMapper.deleteByExample(example);
+	}
+	
+
+
+
+}

+ 122 - 0
src/main/java/com/gyee/frame/service/WtMttrAndMtbfMonthService.java

@@ -0,0 +1,122 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WtMttrAndMtbfMonthMapper;
+import com.gyee.frame.model.auto.WtMttrAndMtbfMonth;
+import com.gyee.frame.model.auto.WtMttrAndMtbfMonthExample;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 线路 WtMttrAndMtbfMonthService
+ * @Title: WtMttrAndMtbfMonthService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class WtMttrAndMtbfMonthService implements BaseService<WtMttrAndMtbfMonth, WtMttrAndMtbfMonthExample> {
+	@Resource
+	private WtMttrAndMtbfMonthMapper wtMttrAndMtbfMonthMapper;
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			WtMttrAndMtbfMonthExample example=new WtMttrAndMtbfMonthExample();
+			example.createCriteria().andIdIn(lista);
+			return wtMttrAndMtbfMonthMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public WtMttrAndMtbfMonth selectByPrimaryKey(String id) {
+				
+			return wtMttrAndMtbfMonthMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(WtMttrAndMtbfMonth record) {
+		return wtMttrAndMtbfMonthMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WtMttrAndMtbfMonth record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return wtMttrAndMtbfMonthMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(WtMttrAndMtbfMonth record, WtMttrAndMtbfMonthExample example) {
+		
+		return wtMttrAndMtbfMonthMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(WtMttrAndMtbfMonth record, WtMttrAndMtbfMonthExample example) {
+		
+		return wtMttrAndMtbfMonthMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WtMttrAndMtbfMonth> selectByExample(WtMttrAndMtbfMonthExample example) {
+		
+		return wtMttrAndMtbfMonthMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WtMttrAndMtbfMonthExample example) {
+		
+		return wtMttrAndMtbfMonthMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WtMttrAndMtbfMonthExample example) {
+		
+		return wtMttrAndMtbfMonthMapper.deleteByExample(example);
+	}
+
+
+	public List<WtMttrAndMtbfMonth> getMttrAndMtbf(String wtId, Integer year,Integer month)  {
+		List<WtMttrAndMtbfMonth> list=null;
+
+		WtMttrAndMtbfMonthExample example=new WtMttrAndMtbfMonthExample();
+		example.setOrderByClause("wtid ASC");
+
+		if(StringUtils.notEmp(year) && StringUtils.notEmp(month) &&  StringUtils.notEmp(wtId)){
+
+
+			example.createCriteria().andWtidEqualTo(wtId).andYearEqualTo(year).andMonthEqualTo(month);
+			list= wtMttrAndMtbfMonthMapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+
+		return list;
+	}
+
+}

+ 103 - 0
src/main/java/com/gyee/frame/service/WtMttrAndMtbfYearService.java

@@ -0,0 +1,103 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WtMttrAndMtbfYearMapper;
+import com.gyee.frame.model.auto.WtMttrAndMtbfYear;
+import com.gyee.frame.model.auto.WtMttrAndMtbfYearExample;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 线路 WtMttrAndMtbfYearService
+ * @Title: WtMttrAndMtbfYearService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class WtMttrAndMtbfYearService implements BaseService<WtMttrAndMtbfYear, WtMttrAndMtbfYearExample> {
+	@Resource
+	private WtMttrAndMtbfYearMapper wtMttrAndMtbfYearMapper;
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			WtMttrAndMtbfYearExample example=new WtMttrAndMtbfYearExample();
+			example.createCriteria().andIdIn(lista);
+			return wtMttrAndMtbfYearMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public WtMttrAndMtbfYear selectByPrimaryKey(String id) {
+				
+			return wtMttrAndMtbfYearMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(WtMttrAndMtbfYear record) {
+		return wtMttrAndMtbfYearMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WtMttrAndMtbfYear record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return wtMttrAndMtbfYearMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(WtMttrAndMtbfYear record, WtMttrAndMtbfYearExample example) {
+		
+		return wtMttrAndMtbfYearMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(WtMttrAndMtbfYear record, WtMttrAndMtbfYearExample example) {
+		
+		return wtMttrAndMtbfYearMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WtMttrAndMtbfYear> selectByExample(WtMttrAndMtbfYearExample example) {
+		
+		return wtMttrAndMtbfYearMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WtMttrAndMtbfYearExample example) {
+		
+		return wtMttrAndMtbfYearMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WtMttrAndMtbfYearExample example) {
+		
+		return wtMttrAndMtbfYearMapper.deleteByExample(example);
+	}
+	
+
+
+
+}

+ 29 - 1
src/main/java/com/gyee/frame/service/report/WtHealthReport3Service.java

@@ -2,11 +2,14 @@ package com.gyee.frame.service.report;
 
 import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.model.auto.*;
+import com.gyee.frame.service.WtMttrAndMtbfMonthService;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 /**
@@ -37,6 +40,8 @@ public class WtHealthReport3Service {
     private Wttragetreportxndjpj3Service wttragetreportxndjpj3Service;
     @Resource
     private WtReportFault3Service wtReportFault3Service;
+    @Resource
+    private WtMttrAndMtbfMonthService wtMttrAndMtbfMonthService;
 
     //评价等级
     private String PJDJ = "pjdj";
@@ -59,16 +64,39 @@ public class WtHealthReport3Service {
             int year = cal.get(Calendar.YEAR);
             int month = cal.get(Calendar.MONTH) + 1;
 
+            int daynum=cal.get(Calendar.DAY_OF_MONTH);
             if (InitialRunner.wtmap.containsKey(wtId)) {
                 Windturbine wt = InitialRunner.wtmap.get(wtId);
 
+
+
                 List<Wttragetreport3> wtreportls = wttragetreport3Service.findWttragetreport3(wtId, year, month);
 
                 if (!wtreportls.isEmpty()) {
                     //获得健康报告主表信息
                     Wttragetreport3 wtreport = wtreportls.get(0);
-
                     Map<String, Object> jczbmap = new HashMap<>();
+
+                    List<WtMttrAndMtbfMonth> mmls=wtMttrAndMtbfMonthService.getMttrAndMtbf(wtId, year, month);
+
+                    if(!mmls.isEmpty())
+                    {
+                        WtMttrAndMtbfMonth mm=mmls.get(0);
+                        double stoptimes=mm.getStoprtimes();
+                        double stophours=mm.getStophours();
+                        double mttr=0.0;
+                        double mtbf=daynum*24;
+                        if(stoptimes!=0)
+                        {
+                            mttr=new BigDecimal(stophours).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+                            mtbf=new BigDecimal(daynum*24).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                        }
+
+                        jczbmap.put("mttr", mttr);
+                        jczbmap.put("mtbf", mtbf);
+                    }
+
                     //风机编号
                     jczbmap.put("fjbh", wt.getCode());
                     //风机名称

File diff suppressed because it is too large
+ 1455 - 0
src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailLnService.java


File diff suppressed because it is too large
+ 1911 - 0
src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailPjService.java


File diff suppressed because it is too large
+ 1979 - 0
src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailService.java


File diff suppressed because it is too large
+ 1861 - 0
src/main/java/com/gyee/frame/service/websocket/GenreSetPushDetailWpService.java


+ 113 - 29
src/main/java/com/gyee/frame/service/websocket/GenreSetPushService.java

@@ -7,10 +7,7 @@ import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.model.auto.*;
 import com.gyee.frame.model.custom.DataVo;
 import com.gyee.frame.model.custom.PointData;
-import com.gyee.frame.service.ProjectPlanService;
-import com.gyee.frame.service.ShutdowneventService;
-import com.gyee.frame.service.WindPowerstationTestingPointService;
-import com.gyee.frame.service.WindpowerinfodayService;
+import com.gyee.frame.service.*;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.MathUtil;
@@ -38,6 +35,8 @@ public class GenreSetPushService {
     private RealPowerPushService realPowerPushService;
     @Resource
     private ShutdowneventService shutdowneventService;
+    @Resource
+    private WpMttrAndMtbMonthService wpMttrAndMtbMonthService;
 
     private final String QS = "0";
     private final String FD = "-1";
@@ -75,10 +74,11 @@ public class GenreSetPushService {
             Double yfgl = 0.0;
 /*************************************************风场指标*************************************************************/
 
+        Map<String, Object> fcmap = new HashMap<>();
+
         if(id.equals(QS) || id.equals(FD) || id.equals(GF) )
         {
 
-            Map<String, Double> fcmap = new HashMap<>();
             //初始化场站信息
 
             List<Windpowerstation> wplist=new ArrayList<>();
@@ -100,27 +100,6 @@ public class GenreSetPushService {
 
 
 
-
-            if (id.equals("0")) {
-
-                double jpeyht = realApiUtil.getRealData(ConstantTR.JPEYHT).getPointValueInDouble();// 减排二氧化碳
-                // EDOS.CALC.GSJPEYHT
-                double jybm = realApiUtil.getRealData(ConstantTR.JYBM).getPointValueInDouble();// 节约标煤
-
-                double jpeyhl = realApiUtil.getRealData(ConstantTR.JPEYHL).getPointValueInDouble();// 减排二氧化硫
-                // EDOS.CALC.GSJPEYHL
-                double jys = realApiUtil.getRealData(ConstantTR.JYS).getPointValueInDouble();// 节约水
-
-                double aqts = realApiUtil.getRealData(ConstantTR.AQTS).getPointValueInDouble();// 安全天数
-
-                map.put("aqts", StringUtils.round(aqts, 2));
-                map.put("jpeyht", StringUtils.round(jpeyht, 2));
-                map.put("jybm", StringUtils.round(jybm, 2));
-                map.put("jpeyhl", StringUtils.round(jpeyhl, 2));
-                map.put("jys", StringUtils.round(jys, 2));
-
-            }
-
             for (Windpowerstation wp : wplist) {
 
                 zjrl += wp.getCapacity();
@@ -144,15 +123,92 @@ public class GenreSetPushService {
                 sb.setLength(0);
                 sb.append(wp.getId()).append("_").append("fcgl");
                 fcmap.put(String.valueOf(sb), fcglvalue);
+
+                fcmap.put("name",wp.getName());
+                fcmap.put("id",wp.getId());
             }
 
             //所属风场指标
             map.put("fcmap", fcmap);
+        }else if(InitialRunner.wpmap.containsKey(id))
+        {
+
+            if(InitialRunner.pjsmap.containsKey(id))
+            {
+                List<Project> pjls=InitialRunner.pjsmap.get(id);
+                for(Project pj:pjls)
+                {
+                    if(InitialRunner.lnsmap.containsKey(pj.getId()))
+                    {
+                        List<Line> lnls=InitialRunner.lnsmap.get(pj.getId());
+                        for(Line ln:lnls)
+                        {
+                            zjrl += ln.getCapacity();
+                            zjts += ln.getQuantity();
+
+                            WindPowerStationTestingPoint2 fczt = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(ln.getId(), Constant.FJZT);
+                            WindPowerStationTestingPoint2 fcgl = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(ln.getId(), Constant.TPOINT_WP_SJGL);
+
+                            Double fcztvalue = realApiUtil.getRealData(fczt).getPointValueInDouble();
+                            Double fcglvalue = realApiUtil.getRealData(fcgl).getPointValueInDouble();
+
+                            StringBuilder sb = new StringBuilder();
+                            sb.append(ln.getId()).append("_").append("zjrl");
+                            fcmap.put(String.valueOf(sb), ln.getCapacity());
+                            sb.setLength(0);
+                            sb.append(ln.getId()).append("_").append("zjts");
+                            fcmap.put(String.valueOf(sb), Double.valueOf(ln.getQuantity()));
+                            sb.setLength(0);
+                            sb.append(ln.getId()).append("_").append("fczt");
+                            fcmap.put(String.valueOf(sb), fcztvalue);
+                            sb.setLength(0);
+                            sb.append(ln.getId()).append("_").append("fcgl");
+                            fcmap.put(String.valueOf(sb), fcglvalue);
+                            fcmap.put("name",ln.getName());
+                            fcmap.put("id",ln.getId());
+                        }
+                    }
+                }
+            }
+        }else if(InitialRunner.pjmap.containsKey(id))
+        {
+
+            if(InitialRunner.lnsmap.containsKey(id))
+            {
+                List<Line> lnls=InitialRunner.lnsmap.get(id);
+                for(Line ln:lnls)
+                {
+                    zjrl += ln.getCapacity();
+                    zjts += ln.getQuantity();
+
+                    WindPowerStationTestingPoint2 fczt = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(ln.getId(), Constant.FJZT);
+                    WindPowerStationTestingPoint2 fcgl = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(ln.getId(), Constant.TPOINT_WP_SJGL);
+
+                    Double fcztvalue = realApiUtil.getRealData(fczt).getPointValueInDouble();
+                    Double fcglvalue = realApiUtil.getRealData(fcgl).getPointValueInDouble();
+
+                    StringBuilder sb = new StringBuilder();
+                    sb.append(ln.getId()).append("_").append("zjrl");
+                    fcmap.put(String.valueOf(sb), ln.getCapacity());
+                    sb.setLength(0);
+                    sb.append(ln.getId()).append("_").append("zjts");
+                    fcmap.put(String.valueOf(sb), Double.valueOf(ln.getQuantity()));
+                    sb.setLength(0);
+                    sb.append(ln.getId()).append("_").append("fczt");
+                    fcmap.put(String.valueOf(sb), fcztvalue);
+                    sb.setLength(0);
+                    sb.append(ln.getId()).append("_").append("fcgl");
+                    fcmap.put(String.valueOf(sb), fcglvalue);
+                    fcmap.put("name",ln.getName());
+                    fcmap.put("id",ln.getId());
+                }
+            }
         }
 
 
 
 
+
 /*************************************************风场指标*************************************************************/
 
 /*************************************************基础指标*************************************************************/
@@ -279,6 +335,31 @@ public class GenreSetPushService {
                 glbz = 100.0;
             }
             jczbmap.put("glbz", StringUtils.round(glbz, 2));
+
+            Calendar c = Calendar.getInstance();
+
+            int tempyear = c.get(Calendar.YEAR);
+            int tempmonth = c.get(Calendar.MONTH) + 1;
+            int daynum=c.get(Calendar.DAY_OF_MONTH);
+            List<WpMttrAndMtbMonth> mmls=wpMttrAndMtbMonthService.getMttrAndMtbf(id, tempyear, tempmonth);
+
+            if(!mmls.isEmpty())
+            {
+                WpMttrAndMtbMonth mm=mmls.get(0);
+                double stoptimes=mm.getStoprtimes();
+                double stophours=mm.getStophours();
+                double mttr=0.0;
+                double mtbf=mm.getWthours();
+                if(stoptimes!=0)
+                {
+                    mttr=new BigDecimal(stophours).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    mtbf=new BigDecimal(mm.getWthours()).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                }
+
+                jczbmap.put("mttr", mttr);
+                jczbmap.put("mtbf", mtbf);
+            }
             map.put("jczbmap", jczbmap);
 
 
@@ -665,7 +746,7 @@ public class GenreSetPushService {
         return map;
     }
 
-    public List<DataVo> findPowerWpBar(String wpId) throws Exception {
+    private List<DataVo> findPowerWpBar(String wpId) throws Exception {
         List<DataVo> vos = new ArrayList<DataVo>();
         if (StringUtils.empty(wpId)) {
             wpId = "0";
@@ -787,8 +868,8 @@ public class GenreSetPushService {
             }else  if (InitialRunner.lnmap.containsKey(id)) {
                 Line ln=InitialRunner.lnmap.get(id);
 
-                if (InitialRunner.lnsmap.containsKey(id)) {
-                    List<Line> linels = InitialRunner.lnsmap.get(id);
+                if (InitialRunner.lnsmap.containsKey(ln.getProjectid())) {
+                    List<Line> linels = InitialRunner.lnsmap.get(ln.getProjectid());
                     if (!linels.isEmpty()) {
                         num = linels.size();
                     }
@@ -829,6 +910,9 @@ public class GenreSetPushService {
 
 
 
+
+
+
 }
 
 

+ 27 - 9
src/main/java/com/gyee/frame/service/websocket/MatrixPushByWpService.java

@@ -3,16 +3,10 @@ package com.gyee.frame.service.websocket;
 
 import com.gyee.frame.common.spring.Constant;
 import com.gyee.frame.common.spring.InitialRunner;
-import com.gyee.frame.model.auto.Equipmentmodel;
-import com.gyee.frame.model.auto.Windpowerinfoday;
-import com.gyee.frame.model.auto.Windpowerstation;
-import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.auto.*;
 import com.gyee.frame.model.custom.MatrixVo;
 import com.gyee.frame.model.custom.PointData;
-import com.gyee.frame.service.ProjectPlanService;
-import com.gyee.frame.service.WindPowerstationTestingPointService;
-import com.gyee.frame.service.WindTurbineTestingPointAiService;
-import com.gyee.frame.service.WindpowerinfodayService;
+import com.gyee.frame.service.*;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.MathUtil;
@@ -39,7 +33,8 @@ public class MatrixPushByWpService {
     private WindTurbineTestingPointAiService windTurbineTestingPointAiService;
     @Resource
     private GeneralAppearancePushService generalAppearancePushService;
-
+    @Resource
+    private WpMttrAndMtbMonthService wpMttrAndMtbMonthService;
     IRealTimeDataBaseUtil realApiUtil = new EdosUtil();
 
 
@@ -215,7 +210,30 @@ public class MatrixPushByWpService {
                     jczbmap.put("xdts", 0.0);
                 }
 
+                Calendar c = Calendar.getInstance();
+
+                int tempyear = c.get(Calendar.YEAR);
+                int tempmonth = c.get(Calendar.MONTH) + 1;
+                int daynum=c.get(Calendar.DAY_OF_MONTH);
+                List<WpMttrAndMtbMonth> mmls=wpMttrAndMtbMonthService.getMttrAndMtbf(wpId, tempyear, tempmonth);
 
+                if(!mmls.isEmpty())
+                {
+                    WpMttrAndMtbMonth mm=mmls.get(0);
+                    double stoptimes=mm.getStoprtimes();
+                    double stophours=mm.getStophours();
+                    double mttr=0.0;
+                    double mtbf=mm.getWthours();
+                    if(stoptimes!=0)
+                    {
+                        mttr=new BigDecimal(stophours).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+                        mtbf=new BigDecimal(mm.getWthours()).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    }
+
+                    jczbmap.put("mttr", mttr);
+                    jczbmap.put("mtbf", mtbf);
+                }
                 fczbmap.put("jczbmap",jczbmap);
 /*************************************************风场指标统计*************************************************************/
 

+ 286 - 89
src/main/java/com/gyee/frame/service/websocket/RealPowerPushService.java

@@ -3,12 +3,12 @@ package com.gyee.frame.service.websocket;
 
 import com.gyee.frame.common.spring.Constant;
 import com.gyee.frame.common.spring.InitialRunner;
-import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
-import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.model.auto.*;
 import com.gyee.frame.model.custom.DataVo;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.service.ProjectPlanService;
 import com.gyee.frame.service.WindPowerstationTestingPointService;
+import com.gyee.frame.service.WindTurbineTestingPointAiService;
 import com.gyee.frame.service.WindpowerinfodayService;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
@@ -31,14 +31,14 @@ public class RealPowerPushService {
     private WindpowerinfodayService windpowerinfodayService;
     @Resource
     private ProjectPlanService projectPlanService;
-
+    @Resource
+    private WindTurbineTestingPointAiService windTurbineTestingPointAiService;
 
     private final String QS = "0";
     private final String FD = "-1";
     private final String GF = "-2";
 
 
-
     IRealTimeDataBaseUtil realApiUtil = new EdosUtil();
 
 
@@ -79,11 +79,12 @@ public class RealPowerPushService {
 
 
 /****************************************************曲线历史**********************************************************/
-             glvos = findRealPowerChar(id, new Date());
+            glvos = findRealPowerChar(id, new Date());
 /*************************************************曲线历史*************************************************************/
         }
         return glvos;
     }
+
     public List<DataVo> findRealPowerChar(String id, Date currentDate) throws Exception {
 
         List<DataVo> vos = new ArrayList<DataVo>();
@@ -171,26 +172,24 @@ public class RealPowerPushService {
                             List<PointData> datas = realApiUtil.getHistoryDatasSnap(ycgl1, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, pried);
                             if (!datas.isEmpty()) {
 
-                                if(InitialRunner.appendYcglMap.containsKey(station.getId()))
-                                {
-                                    Map<String, Object> ycmap=InitialRunner.appendYcglMap.get(station.getId());
-                                    if(ycmap.containsKey("cdq1"))
-                                    {
-                                        String qs3_ycgl1=(String)ycmap.get("cdq1");
+                                if (InitialRunner.appendYcglMap.containsKey(station.getId())) {
+                                    Map<String, Object> ycmap = InitialRunner.appendYcglMap.get(station.getId());
+                                    if (ycmap.containsKey("cdq1")) {
+                                        String qs3_ycgl1 = (String) ycmap.get("cdq1");
 
                                         List<PointData> qs3_datas = realApiUtil.getHistoryDatasSnap(qs3_ycgl1, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, 1800L);
 
                                         for (int j = 0; j < datas.size(); j++) {
 
                                             vos.get(j).setTime(datas.get(j).getPointTime() * 1000);
-                                            vos.get(j).setValue4(StringUtils.round(datas.get(j).getPointValueInDouble()+qs3_datas.get(j).getPointValueInDouble(), 2));
+                                            vos.get(j).setValue4(StringUtils.round(datas.get(j).getPointValueInDouble() + qs3_datas.get(j).getPointValueInDouble(), 2));
                                             if (j == datas.size() - 1) {
                                                 cal.setTime(new Date(datas.get(j).getPointTime() * 1000));
                                             }
                                         }
                                     }
 
-                                }else{
+                                } else {
                                     for (int j = 0; j < datas.size(); j++) {
 
                                         vos.get(j).setTime(datas.get(j).getPointTime() * 1000);
@@ -214,24 +213,21 @@ public class RealPowerPushService {
                                         subresult = cdqyc;
                                     }
 
-                                    if(InitialRunner.appendYcglMap.containsKey(station.getId()))
-                                    {
-                                        Map<String, Object> ycmap=InitialRunner.appendYcglMap.get(station.getId());
-                                        if(ycmap.containsKey("cdq2"))
-                                        {
-                                            String[] ycPoints3 =(String[])ycmap.get("cdq2");
+                                    if (InitialRunner.appendYcglMap.containsKey(station.getId())) {
+                                        Map<String, Object> ycmap = InitialRunner.appendYcglMap.get(station.getId());
+                                        if (ycmap.containsKey("cdq2")) {
+                                            String[] ycPoints3 = (String[]) ycmap.get("cdq2");
                                             for (int i = 0; i < subresult; i++) {
                                                 cal.add(Calendar.HOUR_OF_DAY, 1);
                                                 vos.get(datas.size() + i).setTime(cal.getTime().getTime());
-                                                String qs3_ycgl =ycPoints3[i];
+                                                String qs3_ycgl = ycPoints3[i];
                                                 WindPowerStationTestingPoint2 ycglpoint = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(station.getId(), ycPoints2[i]);
 
-                                                vos.get(datas.size() + i).setValue4(StringUtils.round(realApiUtil.getRealData(ycglpoint).getPointValueInDouble()+realApiUtil.getRealData(qs3_ycgl).getPointValueInDouble(), 2));
+                                                vos.get(datas.size() + i).setValue4(StringUtils.round(realApiUtil.getRealData(ycglpoint).getPointValueInDouble() + realApiUtil.getRealData(qs3_ycgl).getPointValueInDouble(), 2));
                                             }
                                         }
 
-                                    }else
-                                    {
+                                    } else {
                                         for (int i = 0; i < subresult; i++) {
                                             cal.add(Calendar.HOUR_OF_DAY, 1);
 
@@ -289,34 +285,34 @@ public class RealPowerPushService {
                 try {
 
 
-                        if (null != yfgl) {
+                    if (null != yfgl) {
 
 
-                            List<PointData> yfglls = realApiUtil.getHistoryDatasSnap(yfgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, pried);
+                        List<PointData> yfglls = realApiUtil.getHistoryDatasSnap(yfgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, pried);
 
-                            double temp1 = 0;
-                            double temp2 = 0;
-                            for (int i = 0; i < vos.size(); i++) {
+                        double temp1 = 0;
+                        double temp2 = 0;
+                        for (int i = 0; i < vos.size(); i++) {
 
-                                if (i < yfglls.size() && StringUtils.notEmp(yfglls.get(i).getPointTime())) {
+                            if (i < yfglls.size() && StringUtils.notEmp(yfglls.get(i).getPointTime())) {
 
-                                    if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
-                                        temp1 = yfglls.get(i).getPointValueInDouble();
-                                        temp2 = gdsjglls.get(i).getPointValueInDouble();
-                                        temp1 = new BigDecimal(temp1).divide(new BigDecimal(100000), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).doubleValue();
+                                if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+                                    temp1 = yfglls.get(i).getPointValueInDouble();
+                                    temp2 = gdsjglls.get(i).getPointValueInDouble();
+                                    temp1 = new BigDecimal(temp1).divide(new BigDecimal(100000), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).doubleValue();
 
 
-                                        if (id.equals(QS)) {
-                                            vos.get(i).setValue1(StringUtils.round(temp1 + temp2, 2));// 应发功率
-                                        } else {
-                                            vos.get(i).setValue1(StringUtils.round(temp1, 2));// 应发功率
-                                        }
+                                    if (id.equals(QS)) {
+                                        vos.get(i).setValue1(StringUtils.round(temp1 + temp2, 2));// 应发功率
                                     } else {
-                                        vos.get(i).setValue1(0d);// 应发功率
+                                        vos.get(i).setValue1(StringUtils.round(temp1, 2));// 应发功率
                                     }
-
+                                } else {
+                                    vos.get(i).setValue1(0d);// 应发功率
                                 }
+
                             }
+                        }
 
 
                     }
@@ -479,11 +475,9 @@ public class RealPowerPushService {
 
                 }
 
-            }else  if(InitialRunner.wpmap.containsKey(id) || InitialRunner.pjmap.containsKey(id)  || InitialRunner.lnmap.containsKey(id))
-            {
+            } else if (InitialRunner.wpmap.containsKey(id) || InitialRunner.pjmap.containsKey(id) || InitialRunner.lnmap.containsKey(id)) {
 
-                if(InitialRunner.wpmap.containsKey(id) )
-                {
+                if (InitialRunner.wpmap.containsKey(id)) {
                     if (num > 0) {
                         WindPowerStationTestingPoint2 ycgl1 = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, ycPoints1[0]);
 
@@ -491,26 +485,24 @@ public class RealPowerPushService {
                             List<PointData> datas = realApiUtil.getHistoryDatasSnap(ycgl1, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, pried);
                             if (!datas.isEmpty()) {
 
-                                if(InitialRunner.appendYcglMap.containsKey(id))
-                                {
-                                    Map<String, Object> ycmap=InitialRunner.appendYcglMap.get(id);
-                                    if(ycmap.containsKey("cdq1"))
-                                    {
-                                        String qs3_ycgl1=(String)ycmap.get("cdq1");
+                                if (InitialRunner.appendYcglMap.containsKey(id)) {
+                                    Map<String, Object> ycmap = InitialRunner.appendYcglMap.get(id);
+                                    if (ycmap.containsKey("cdq1")) {
+                                        String qs3_ycgl1 = (String) ycmap.get("cdq1");
 
                                         List<PointData> qs3_datas = realApiUtil.getHistoryDatasSnap(qs3_ycgl1, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, 1800L);
 
                                         for (int j = 0; j < datas.size(); j++) {
 
                                             vos.get(j).setTime(datas.get(j).getPointTime() * 1000);
-                                            vos.get(j).setValue4(StringUtils.round(datas.get(j).getPointValueInDouble()+qs3_datas.get(j).getPointValueInDouble(), 2));
+                                            vos.get(j).setValue4(StringUtils.round(datas.get(j).getPointValueInDouble() + qs3_datas.get(j).getPointValueInDouble(), 2));
                                             if (j == datas.size() - 1) {
                                                 cal.setTime(new Date(datas.get(j).getPointTime() * 1000));
                                             }
                                         }
                                     }
 
-                                }else{
+                                } else {
                                     for (int j = 0; j < datas.size(); j++) {
 
                                         vos.get(j).setTime(datas.get(j).getPointTime() * 1000);
@@ -534,24 +526,21 @@ public class RealPowerPushService {
                                         subresult = cdqyc;
                                     }
 
-                                    if(InitialRunner.appendYcglMap.containsKey(id))
-                                    {
-                                        Map<String, Object> ycmap=InitialRunner.appendYcglMap.get(id);
-                                        if(ycmap.containsKey("cdq2"))
-                                        {
-                                            String[] ycPoints3 =(String[])ycmap.get("cdq2");
+                                    if (InitialRunner.appendYcglMap.containsKey(id)) {
+                                        Map<String, Object> ycmap = InitialRunner.appendYcglMap.get(id);
+                                        if (ycmap.containsKey("cdq2")) {
+                                            String[] ycPoints3 = (String[]) ycmap.get("cdq2");
                                             for (int i = 0; i < subresult; i++) {
                                                 cal.add(Calendar.HOUR_OF_DAY, 1);
                                                 vos.get(datas.size() + i).setTime(cal.getTime().getTime());
-                                                String qs3_ycgl =ycPoints3[i];
+                                                String qs3_ycgl = ycPoints3[i];
                                                 WindPowerStationTestingPoint2 ycglpoint = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, ycPoints2[i]);
 
-                                                vos.get(datas.size() + i).setValue4(StringUtils.round(realApiUtil.getRealData(ycglpoint).getPointValueInDouble()+realApiUtil.getRealData(qs3_ycgl).getPointValueInDouble(), 2));
+                                                vos.get(datas.size() + i).setValue4(StringUtils.round(realApiUtil.getRealData(ycglpoint).getPointValueInDouble() + realApiUtil.getRealData(qs3_ycgl).getPointValueInDouble(), 2));
                                             }
                                         }
 
-                                    }else
-                                    {
+                                    } else {
                                         for (int i = 0; i < subresult; i++) {
                                             cal.add(Calendar.HOUR_OF_DAY, 1);
 
@@ -601,50 +590,46 @@ public class RealPowerPushService {
                 WindPowerStationTestingPoint2 zygl = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_ZZYGL);
 
 
-
                 try {
 
 
-                        if (null != yfgl) {
-                            List<PointData> yfglls = realApiUtil.getHistoryDatasSnap(yfgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, pried);
+                    if (null != yfgl) {
+                        List<PointData> yfglls = realApiUtil.getHistoryDatasSnap(yfgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, pried);
 
-                            double temp1 = 0;
-
-                            if(!InitialRunner.wpmap.containsKey(id))
-                            {
-                                cal.setTime(beginDate);
-                            }
-                            for (int i = 0; i < vos.size(); i++) {
+                        double temp1 = 0;
 
-                                if(!InitialRunner.wpmap.containsKey(id))
-                                {
-                                    vos.get(i).setTime(cal.getTime().getTime());
-                                }
+                        if (!InitialRunner.wpmap.containsKey(id)) {
+                            cal.setTime(beginDate);
+                        }
+                        for (int i = 0; i < vos.size(); i++) {
 
-                                if (i < yfglls.size() && StringUtils.notEmp(yfglls.get(i).getPointTime())) {
+                            if (!InitialRunner.wpmap.containsKey(id)) {
+                                vos.get(i).setTime(cal.getTime().getTime());
+                            }
 
-                                    if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
-                                        temp1 = yfglls.get(i).getPointValueInDouble();
+                            if (i < yfglls.size() && StringUtils.notEmp(yfglls.get(i).getPointTime())) {
 
-                                        temp1 = new BigDecimal(temp1).divide(new BigDecimal(100000), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).doubleValue();
-                                        if (Math.abs(temp1) < 10000) {
-                                            vos.get(i).setValue1(StringUtils.round(temp1, 2));// 应发功率
-                                        }
+                                if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+                                    temp1 = yfglls.get(i).getPointValueInDouble();
 
-                                    } else {
-                                        vos.get(i).setValue1(0d);// 应发功率
+                                    temp1 = new BigDecimal(temp1).divide(new BigDecimal(100000), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).doubleValue();
+                                    if (Math.abs(temp1) < 10000) {
+                                        vos.get(i).setValue1(StringUtils.round(temp1, 2));// 应发功率
                                     }
 
+                                } else {
+                                    vos.get(i).setValue1(0d);// 应发功率
                                 }
 
-                                if(!InitialRunner.wpmap.containsKey(id))
-                                {
-                                    cal.add(Calendar.HOUR_OF_DAY, 1);
-                                }
                             }
 
+                            if (!InitialRunner.wpmap.containsKey(id)) {
+                                cal.add(Calendar.HOUR_OF_DAY, 1);
+                            }
                         }
 
+                    }
+
                 } catch (Exception e) {
                     e.printStackTrace();
 
@@ -800,6 +785,218 @@ public class RealPowerPushService {
         return vos;
     }
 
+
+    public List<Object> findGLDetail(String id, String gltype) throws Exception {
+
+        List<DataVo> vols = new ArrayList<DataVo>();
+
+
+        Calendar cal = Calendar.getInstance();
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+
+        Date beginDate = cal.getTime();
+        cal.add(Calendar.DAY_OF_MONTH, 1);
+
+        Date endDate = cal.getTime();
+
+        int length = 48;
+
+        int type = 0;
+
+       // Map<String, List> resultMap = new HashMap<String, List>();
+
+        List<Object> resultls = new ArrayList<Object>();
+        if (StringUtils.notEmp(id)) {
+            if (id.equals(QS) || id.equals(FD) || id.equals(GF)) {
+
+                if (id.equals("") || id.equals(QS)) {
+                    for (Windpowerstation station : InitialRunner.wpallls) {
+                        DataVo vo = new DataVo();
+                        vo.setId(station.getId());
+                        vo.setName(station.getName());
+                        vols.add(vo);
+                    }
+                } else if (id.equals(FD)) {
+                    for (Windpowerstation station : InitialRunner.wpallls) {
+                        if (station.getId().endsWith("FDC")) {
+                            DataVo vo = new DataVo();
+                            vo.setId(station.getId());
+                            vo.setName(station.getName());
+                            vols.add(vo);
+                        }
+                    }
+                } else {
+                    for (Windpowerstation station : InitialRunner.wpallls) {
+                        if (station.getId().endsWith("GDC")) {
+                            DataVo vo = new DataVo();
+                            vo.setId(station.getId());
+                            vo.setName(station.getName());
+                            vols.add(vo);
+                        }
+                    }
+                }
+            } else if (InitialRunner.wpmap.containsKey(id)) {
+                for (Project pj : InitialRunner.pjsmap.get(id)) {
+                    DataVo vo = new DataVo();
+                    vo.setId(pj.getId());
+                    vo.setName(pj.getName());
+                    vols.add(vo);
+
+                }
+            } else if (InitialRunner.pjmap.containsKey(id)) {
+                for (Line ln : InitialRunner.lnsmap.get(id)) {
+                    DataVo vo = new DataVo();
+                    vo.setId(ln.getId());
+                    vo.setName(ln.getName());
+                    vols.add(vo);
+
+                }
+            } else if (InitialRunner.lnmap.containsKey(id)) {
+                for (Windturbine wt : InitialRunner.ln_wtmap.get(id)) {
+                    DataVo vo = new DataVo();
+                    vo.setId(wt.getId());
+                    vo.setName(wt.getName());
+                    vols.add(vo);
+
+                    type = 1;
+                }
+            }
+        }
+
+        if (null != id) {
+
+            for (DataVo vo : vols) {
+                List<DataVo> vos = new ArrayList<DataVo>();
+                for (int i = 0; i < length; i++) {
+                    DataVo v = new DataVo();
+                    v.setName(vo.getName());
+                    v.setId(vo.getId());
+                    v.setValue1(0.0);
+                    vos.add(v);
+                }
+
+                String pointid = null;
+                if (type == 0) {
+                    switch (gltype) {
+                        case "sjgl":
+
+                            // 实际发功率
+                            WindPowerStationTestingPoint2 sjgl = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(vo.getId(), Constant.TPOINT_WP_SJGL);
+
+                            if(null!=sjgl && null!=sjgl.getCode())
+                            {
+                                pointid=sjgl.getCode();
+                            }
+                            break;
+                        case "bzgl":
+                            // 总保证功率
+                            WindPowerStationTestingPoint2 bzgl = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(vo.getId(), Constant.ZBZGL);
+                            if(null!=bzgl && null!=bzgl.getCode())
+                            {
+                                pointid=bzgl.getCode();
+                            }
+                            break;
+                        case "yfgl":
+                              // 总应发功率
+                            WindPowerStationTestingPoint2 yfgl = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(vo.getId(), Constant.TPOINT_WP_ZZSGL);
+                            if(null!=yfgl && null!=yfgl.getCode())
+                            {
+                                pointid=yfgl.getCode();
+                            }
+                            break;
+                        case "ssfs":
+                              //实时平均风速
+                            WindPowerStationTestingPoint2 ssfs = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(vo.getId(), Constant.TPOINT_WP_SSFS);
+                            if(null!=ssfs && null!=ssfs.getCode())
+                            {
+                                pointid=ssfs.getCode();
+                            }
+                            break;
+                        default:
+                            break;
+                    }
+                } else {
+                    switch (gltype) {
+                        case "sjgl":
+
+                            // 实际发功率
+                            WindTurbineTestingPointAi2 sjgl = windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(vo.getId(), Constant.TPOINT_WT_FJGL);
+
+                            if(null!=sjgl && null!=sjgl.getCode())
+                            {
+                                pointid=sjgl.getId();
+                            }
+                            break;
+                        case "bzgl":
+                            // 总保证功率
+                            WindTurbineTestingPointAi2 bzgl = windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(vo.getId(), Constant.TPOINT_WT_LLGL);
+                            if(null!=bzgl && null!=bzgl.getCode())
+                            {
+                                pointid=bzgl.getId();
+                            }
+                            break;
+                        case "yfgl":
+                            // 总应发功率
+                            WindTurbineTestingPointAi2 yfgl = windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(vo.getId(), Constant.TPOINT_WT_YFGL);
+                            if(null!=yfgl && null!=yfgl.getCode())
+                            {
+                                pointid=yfgl.getId();
+                            }
+                            break;
+                        case "ssfs":
+                            //实时平均风速
+                            WindTurbineTestingPointAi2 ssfs = windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(vo.getId(), Constant.TPOINT_WT_FJSSFS);
+                            if(null!=ssfs && null!=ssfs.getCode())
+                            {
+                                pointid=ssfs.getId();
+                            }
+                            break;
+                        default:
+                            break;
+                    }
+                }
+
+                if(StringUtils.notEmp(pointid))
+                {
+                    List<PointData> glls = realApiUtil.getHistoryDatasSnap(pointid, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 1800L);
+
+                    for (int i = 0; i < length; i++) {
+
+                        if (i < glls.size() && StringUtils.notEmp(glls.get(i).getPointTime())) {
+
+                            if (glls.get(i).getPointTime() <= DateUtils.now().getTime()) {
+
+                                vos.get(i).setTime(glls.get(i).getPointTime() * 1000);
+                                double temp1 = glls.get(i).getPointValueInDouble();
+
+                                if(type==0)
+                                {
+                                    temp1 = new BigDecimal(temp1).divide(new BigDecimal(100000), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).doubleValue();
+
+                                }
+                                vos.get(i).setValue1(StringUtils.round(temp1, 2));
+                            } else {
+                                vos.get(i).setValue1(0d);
+                                vos.get(i).setTime(glls.get(i).getPointTime() * 1000);
+                            }
+
+                        }
+                    }
+
+                    // resultMap.put(vo.getId(), vos);
+                   resultls.add(vos);
+                }
+
+            }
+        }
+
+        // ////////////////////////////////////////////////
+
+        return resultls;
+    }
+
 }
 
 

+ 88 - 39
src/main/java/com/gyee/frame/service/websocket/WpInfoPushService.java

@@ -5,12 +5,14 @@ import com.gyee.frame.common.spring.Constant;
 import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
 import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.model.auto.WpMttrAndMtbMonth;
 import com.gyee.frame.model.custom.DataVo;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.model.custom.ZtjsVo;
 import com.gyee.frame.service.ProjectPlanService;
 import com.gyee.frame.service.WindPowerstationTestingPointService;
 import com.gyee.frame.service.WindpowerinfodayService;
+import com.gyee.frame.service.WpMttrAndMtbMonthService;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.MathUtil;
 import com.gyee.frame.util.StringUtils;
@@ -37,7 +39,8 @@ public class WpInfoPushService {
     private MatrixPushByWpService matrixPushByWpService;
     @Resource
     private RealPowerPushService realPowerPushService;
-
+    @Resource
+    private WpMttrAndMtbMonthService wpMttrAndMtbMonthService;
     IRealTimeDataBaseUtil realApiUtil = new EdosUtil();
 
     String[] ycPoints1 = Constant.TPOINT_WP_FGLYC.split(",");
@@ -73,6 +76,7 @@ public class WpInfoPushService {
 
     /**
      * 状态监视页面
+     *
      * @return
      * @throws Exception
      */
@@ -177,7 +181,7 @@ public class WpInfoPushService {
                 vo.setScadafdl(scadafdl);
                 //预测功率
                 double ycgl = StringUtils.round(jczblist.get(10).getPointValueInDouble(), 2);
-                 jczbmap.put("ycgl",ycgl );
+                jczbmap.put("ycgl", ycgl);
                 vo.setYcgl(ycgl);
                 //AGC出线有功
                 double agccxyg = StringUtils.round(jczblist.get(11).getPointValueInDouble(), 2);
@@ -223,6 +227,30 @@ public class WpInfoPushService {
 
             }
 
+            Calendar c = Calendar.getInstance();
+
+            int tempyear = c.get(Calendar.YEAR);
+            int tempmonth = c.get(Calendar.MONTH) + 1;
+            int daynum=c.get(Calendar.DAY_OF_MONTH);
+            List<WpMttrAndMtbMonth> mmls=wpMttrAndMtbMonthService.getMttrAndMtbf(id, tempyear, tempmonth);
+
+            if(!mmls.isEmpty())
+            {
+                WpMttrAndMtbMonth mm=mmls.get(0);
+                double stoptimes=mm.getStoprtimes();
+                double stophours=mm.getStophours();
+                double mttr=0.0;
+                double mtbf=mm.getWthours();
+                if(stoptimes!=0)
+                {
+                    mttr=new BigDecimal(stophours).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    mtbf=new BigDecimal(mm.getWthours()).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                }
+
+                jczbmap.put("mttr", mttr);
+                jczbmap.put("mtbf", mtbf);
+            }
 //            if (bzgl == 0.0) {
 //                bzgl = 1.0;
 //            }
@@ -473,7 +501,7 @@ public class WpInfoPushService {
 
                 if (StringUtils.notEmp(point2.getCode())) {
                     PointData value = realApiUtil.getRealData(point2);
-                    jczbmap.put("cftfs",MathUtil.twoBit(value.getPointValueInDouble()));
+                    jczbmap.put("cftfs", MathUtil.twoBit(value.getPointValueInDouble()));
                 }
 
                 //map.put(wp.getId() + "cftmap", cftmap);
@@ -1052,6 +1080,7 @@ public class WpInfoPushService {
 
     /**
      * 获取风场监视页面
+     *
      * @param wpId
      * @return
      * @throws Exception
@@ -1064,7 +1093,7 @@ public class WpInfoPushService {
 
         if (InitialRunner.wpmap.containsKey(wpId)) {
 
-            Windpowerstation wp=InitialRunner.wpmap.get(wpId);
+            Windpowerstation wp = InitialRunner.wpmap.get(wpId);
 
 
             Map<String, Object> jczbmap = new HashMap<String, Object>();
@@ -1081,8 +1110,8 @@ public class WpInfoPushService {
 
             zjrl = wp.getCapacity();
             zjts = Double.valueOf(wp.getQuantity());
-            jczbmap.put("name",wp.getName());
-            jczbmap.put("zjrl",zjrl);
+            jczbmap.put("name", wp.getName());
+            jczbmap.put("zjrl", zjrl);
 
 
             List<String> jczbls = new ArrayList<>();
@@ -1130,27 +1159,26 @@ public class WpInfoPushService {
                 jczbmap.put("rfdl", rfdl);
 
                 //月发电量
-                double yfdl=MathUtil.twoBit(jczblist.get(1).getPointValueInDouble());
+                double yfdl = MathUtil.twoBit(jczblist.get(1).getPointValueInDouble());
                 jczbmap.put("yfdl", yfdl);
                 //年发电量
-                double nfdl=MathUtil.twoBit(jczblist.get(2).getPointValueInDouble());
+                double nfdl = MathUtil.twoBit(jczblist.get(2).getPointValueInDouble());
                 jczbmap.put("nfdl", nfdl);
                 //月利用小时
                 double ylyxs = (new BigDecimal(jczblist.get(1).getPointValueInDouble()).multiply(new BigDecimal(10))).divide(new BigDecimal(zjrl), 2, RoundingMode.HALF_EVEN).doubleValue();
-                jczbmap.put("ylyxs",ylyxs );
+                jczbmap.put("ylyxs", ylyxs);
                 //年利用小时
-                double nlyxs= (new BigDecimal(jczblist.get(2).getPointValueInDouble()).multiply(new BigDecimal(10))).divide(new BigDecimal(zjrl), 2, RoundingMode.HALF_EVEN).doubleValue();
-                jczbmap.put("nlyxs",nlyxs);
+                double nlyxs = (new BigDecimal(jczblist.get(2).getPointValueInDouble()).multiply(new BigDecimal(10))).divide(new BigDecimal(zjrl), 2, RoundingMode.HALF_EVEN).doubleValue();
+                jczbmap.put("nlyxs", nlyxs);
                 //实时风速
                 double ssfs = MathUtil.twoBit(jczblist.get(3).getPointValueInDouble());
-                jczbmap.put("ssfs",ssfs );
+                jczbmap.put("ssfs", ssfs);
                 //实际功率
                 sjgl = MathUtil.twoBit(jczblist.get(4).getPointValueInDouble());
 
                 jczbmap.put("sjgl", sjgl);
 
 
-
 //待机台数
                 Double djnum = MathUtil.twoBit(jczblist.get(5).getPointValueInDouble());
                 jczbmap.put("djnum", djnum);
@@ -1208,7 +1236,7 @@ public class WpInfoPushService {
 //                jczbmap.put("xdts", xdts);
 //                jczbmap.put("slts", slts);
 
-                jczbmap.put("jrts",djnum+sdtjnum+zcfdnum+qxjclnum+xdjclnum+xdtjnum+gztjnum+cnsltjnum+jxtjnum+cnsljxnum+dwslnum+hjslnum+lxnum);
+                jczbmap.put("jrts", djnum + sdtjnum + zcfdnum + qxjclnum + xdjclnum + xdtjnum + gztjnum + cnsltjnum + jxtjnum + cnsljxnum + dwslnum + hjslnum + lxnum);
             } else {
                 //实际功率
                 jczbmap.put("sjgl", 0.0);
@@ -1226,7 +1254,7 @@ public class WpInfoPushService {
                 jczbmap.put("ssfs", 0.0);
 
                 //待机台数
-                jczbmap.put("djnum",  0.0);
+                jczbmap.put("djnum", 0.0);
                 //手动停机台数
                 jczbmap.put("sdtjts", 0.0);
                 //正常发电台数
@@ -1256,13 +1284,35 @@ public class WpInfoPushService {
 
             }
 
+            Calendar c = Calendar.getInstance();
+
+            int tempyear = c.get(Calendar.YEAR);
+            int tempmonth = c.get(Calendar.MONTH) + 1;
+            int daynum=c.get(Calendar.DAY_OF_MONTH);
+            List<WpMttrAndMtbMonth> mmls=wpMttrAndMtbMonthService.getMttrAndMtbf(id, tempyear, tempmonth);
+
+            if(!mmls.isEmpty())
+            {
+                WpMttrAndMtbMonth mm=mmls.get(0);
+                double stoptimes=mm.getStoprtimes();
+                double stophours=mm.getStophours();
+                double mttr=0.0;
+                double mtbf=mm.getWthours();
+                if(stoptimes!=0)
+                {
+                    mttr=new BigDecimal(stophours).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    mtbf=new BigDecimal(mm.getWthours()).divide(new BigDecimal(stoptimes), 2, RoundingMode.HALF_EVEN).doubleValue();
 
+                }
 
+                jczbmap.put("mttr", mttr);
+                jczbmap.put("mtbf", mtbf);
+            }
+            map.put("jczbmap", jczbmap);
 
 /*************************************************基础指标*************************************************************/
 
 
-
 /*************************************************五项损失**************************************************************/
 
             Map<String, Double> wxssmap = new HashMap<>();
@@ -1498,7 +1548,7 @@ public class WpInfoPushService {
 /*************************************************风机矩阵指标**************************************************************/
 
 
-            Map<String, Object> fjjzmap=matrixPushByWpService.findSimpleMatrixById(wp.getId());
+            Map<String, Object> fjjzmap = matrixPushByWpService.findSimpleMatrixById(wp.getId());
 
             map.put("fjjzmap", fjjzmap);
 /*************************************************风机矩阵指标**************************************************************/
@@ -1506,7 +1556,7 @@ public class WpInfoPushService {
 /*************************************************功率曲线**************************************************************/
 
 
-            List<DataVo> glvos=realPowerPushService.findRealPower(wp.getId());
+            List<DataVo> glvos = realPowerPushService.findRealPower(wp.getId());
 
             map.put("glvos", glvos);
 /*************************************************功率曲线**************************************************************/
@@ -1568,6 +1618,7 @@ public class WpInfoPushService {
 
     /**
      * 获得风场监视损失电量图表
+     *
      * @param wpId
      * @return
      * @throws Exception
@@ -1597,9 +1648,7 @@ public class WpInfoPushService {
         Date endDate = c.getTime();
         c = Calendar.getInstance();
         long num = c.get(Calendar.DAY_OF_MONTH);
-        // long num = 30;
-
-
+        long monthdaynum = c.getActualMaximum(Calendar.DAY_OF_MONTH);
 
 
         WindPowerStationTestingPoint2 gzslai = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wpId, Constant.RSZSSDL);
@@ -1673,15 +1722,16 @@ public class WpInfoPushService {
                     Double xdxss = new BigDecimal(xdssls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
 
                     //受累损失电量=电网受累+天气受累
-                    Double dwslss =  new BigDecimal( dwslls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
-                    Double twslss = new BigDecimal( tqslls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    Double dwslss = new BigDecimal(dwslls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    Double twslss = new BigDecimal(tqslls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
 
-                    Double slss = MathUtil.twoBit(dwslss+twslss);
+                    Double slss = MathUtil.twoBit(dwslss + twslss);
 
-                    double ssdl=MathUtil.twoBit(xnss+gzss+jxss+xdxss+slss);
+                    double ssdl = MathUtil.twoBit(xnss + gzss + jxss + xdxss + slss);
                     vo.setValue1(ssdl);// 损失电量
 
-                } else {
+                }
+                else {
                     vo.setTimestr("");
                     vo.setValue1(0.0);// 损失电量
 
@@ -1692,8 +1742,8 @@ public class WpInfoPushService {
             }
         }
 
-        if (vos.size() < 31) {
-            for (int i = 0; i < 30; i++) {
+        if (vos.size() < (monthdaynum)) {
+            for (int i = vos.size(); i < (monthdaynum); i++) {
                 DataVo vo = new DataVo();
                 vo.setTimestr("");
 
@@ -1713,6 +1763,7 @@ public class WpInfoPushService {
 
     /**
      * 获得风场监视日发电量图表
+     *
      * @param wpId
      * @return
      * @throws Exception
@@ -1743,8 +1794,6 @@ public class WpInfoPushService {
         // long num = 30;
 
 
-
-
         WindPowerStationTestingPoint2 rfdlai = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wpId, Constant.TPOINT_WP_RFDL);
 
 
@@ -1752,7 +1801,7 @@ public class WpInfoPushService {
 
         List<PointData> rfdlls = realApiUtil.getHistoryDatasSnap(rfdlai, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, 86400L);
 
-        if (!rfdlls.isEmpty() ) {
+        if (!rfdlls.isEmpty()) {
             Calendar cal = Calendar.getInstance();
             int today = c.get(Calendar.DAY_OF_MONTH);
             // int today = 30;
@@ -1768,18 +1817,20 @@ public class WpInfoPushService {
                 //日发电量
                 Double rfdl = MathUtil.twoBit(rfdlls.get(i).getPointValueInDouble());
                 //日预测发电量
-                Double ycrfdl = MathUtil.twoBit(rfdl*1.06);
-
+                Double ycrfdl = MathUtil.twoBit(rfdl * 1.06);
+                vo.setValue1(rfdl);
+                vo.setValue2(ycrfdl);
                 vos.add(vo);
             }
         }
 
 
-
         return vos;
     }
+
     /**
      * 获得风场监视月发电量图表
+     *
      * @param wpId
      * @return
      * @throws Exception
@@ -1810,8 +1861,6 @@ public class WpInfoPushService {
         // long num = 30;
 
 
-
-
         WindPowerStationTestingPoint2 rfdlai = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wpId, Constant.TPOINT_WP_YFDL);
 
 
@@ -1819,7 +1868,7 @@ public class WpInfoPushService {
 
         List<PointData> rfdlls = realApiUtil.getHistoryDatasSnap(rfdlai, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, 86400L);
 
-        if (!rfdlls.isEmpty() ) {
+        if (!rfdlls.isEmpty()) {
             Calendar cal = Calendar.getInstance();
             int today = c.get(Calendar.DAY_OF_MONTH);
             // int today = 30;
@@ -1835,10 +1884,10 @@ public class WpInfoPushService {
                 //日发电量
                 Double rfdl = MathUtil.twoBit(rfdlls.get(i).getPointValueInDouble());
                 //日预测发电量
-                Double ycrfdl = MathUtil.twoBit(rfdl*1.06);
+                Double ycrfdl = MathUtil.twoBit(rfdl * 1.06);
 
                 vo.setValue1(rfdl);// 日发电量
-                vo.setValue1(ycrfdl);// 日预测发电量
+                vo.setValue2(ycrfdl);// 日预测发电量
 
                 vos.add(vo);
             }

+ 305 - 182
src/main/java/com/gyee/frame/service/websocket/WtInfoPushService.java

@@ -3,14 +3,12 @@ package com.gyee.frame.service.websocket;
 
 import com.gyee.frame.common.spring.Constant;
 import com.gyee.frame.common.spring.InitialRunner;
-import com.gyee.frame.model.auto.Equipmentmodel;
-import com.gyee.frame.model.auto.WindTurbineTestingPointAi2;
-import com.gyee.frame.model.auto.WindTurbineTestingPointDi2;
-import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.auto.*;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.service.WindTurbineTestingPointAiService;
 import com.gyee.frame.service.WindTurbineTestingPointDiService;
 import com.gyee.frame.service.WindturbineinfodayService;
+import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.MathUtil;
 import com.gyee.frame.util.StringUtils;
@@ -40,7 +38,10 @@ public class WtInfoPushService {
         Map<String, Object> map = new HashMap<>();
 
         map.put("MG01_01", findWtInfo("MG01_01"));
-
+        map.put("SG01_01", findWtInfo("SG01_01"));
+        map.put("XG01_01", findWtInfo("XG01_01"));
+        map.put("NG01_01", findWtInfo("NG01_01"));
+        map.put("QG01_01", findWtInfo("QG01_01"));
         return map;
 
     }
@@ -73,8 +74,8 @@ public class WtInfoPushService {
                 Double yfgl = 0.0;
 
                 List<String> zbls = new ArrayList<>();
+
                 List<String> keyls = new ArrayList<>();
-                List<String> uids = new ArrayList<>();
 
                 Map<String, Integer> bjnamemap = new HashMap<>();
                 Map<String, Integer> clxnamemap = new HashMap<>();
@@ -82,7 +83,7 @@ public class WtInfoPushService {
                 Map<String, Integer> phnamemap = new HashMap<>();
                 Map<String, Integer> yynamemap = new HashMap<>();
                 Map<String, Integer> jcnamemap = new HashMap<>();
-
+                Map<String, Integer> jczbnamemap = new HashMap<>();
 
                 zbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_FJKYL).getId());// 可利用率
                 zbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_RFDL).getId());// 日发电量
@@ -101,24 +102,29 @@ public class WtInfoPushService {
                 zbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RQFSSDL).getId());// 日场外受累电网
                 zbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RXDSSDL).getId());// 日场外受累天气
 
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_FJKYL).getUniformcode());// 可利用率
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_RFDL).getUniformcode());// 日发电量
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_LLGL).getUniformcode());// 风机理论功率
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_YFGL).getUniformcode());// 风机应发功率
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_RFDLBZ).getUniformcode());// 日理论发电量
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_RFDLZS).getUniformcode());//  日应发电量
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.FJZT).getUniformcode());// 风机状态
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.TPOINT_WT_PJGL).getUniformcode());// 平均风速功率
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RGZSSDL).getUniformcode());// 风机日故障损失电量
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RJXSSDL).getUniformcode());// 风机日检修损失电量
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RQFSSDL).getUniformcode());// 风机日欠发损失电量
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RXDSSDL).getUniformcode());// 风机日限电损失电量
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RGZSSDL).getUniformcode());// 日场内受累检修
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RJXSSDL).getUniformcode());// 日场内受累故障
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RQFSSDL).getUniformcode());// 日场外受累电网
-                keyls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, Constant.RXDSSDL).getUniformcode());// 日场外受累天气
+                keyls.add("FJKYL");// 可利用率
+                keyls.add("RFDL");// 日发电量
+                keyls.add("LLGL");// 风机理论功率
+                keyls.add("YFGL");// 风机应发功率
+                keyls.add("RFDLBZ");// 日理论发电量
+                keyls.add("RFDLZS");//  日应发电量
+                keyls.add("FJZT");// 风机状态
+                keyls.add("PJGL");// 平均风速功率
+                keyls.add("RGZSSDL");// 风机日故障损失电量
+                keyls.add("RJXSSDL");// 风机日检修损失电量
+                keyls.add("RQFSSDL");// 风机日欠发损失电量
+                keyls.add("RXDSSDL");// 风机日限电损失电量
+                keyls.add("RGZSSDL");// 日场内受累检修
+                keyls.add("RJXSSDL");// 日场内受累故障
+                keyls.add("RQFSSDL");// 日场外受累电网
+                keyls.add("RXDSSDL");// 日场外受累天气
+
 
 /*********************************************************************变桨*********************************************************************************/
+
+                List<String> uids = new ArrayList<>();
+                List<String> msls = new ArrayList<>();
+
                 if (wt.getWindpowerstationid().equals(QS_FDC)) {
 
                     uids.add(Constant.TPOINT_WT_RYBMQ1);
@@ -132,12 +138,7 @@ public class WtInfoPushService {
                     uids.add(Constant.QSTPOINT_WT_U3YZDL);
                     uids.add(Constant.QSTPOINT_WT_U1YZDY);
                     uids.add(Constant.QSTPOINT_WT_U2YZDY);
-
-
-                    initialpoint(id, zbls, keyls, bjnamemap,uids);
-
-
-
+                    uids.add(Constant.QSTPOINT_WT_U3YZDY);
 
                 } else {
 
@@ -152,12 +153,28 @@ public class WtInfoPushService {
                     uids.add(Constant.TPOINT_WT_U3YZDL);
                     uids.add(Constant.TPOINT_WT_U1YZDY);
                     uids.add(Constant.TPOINT_WT_U2YZDY);
+                    uids.add(Constant.TPOINT_WT_U3YZDY);
 
+                }
 
-                    initialpoint(id, zbls, keyls, bjnamemap,uids);
 
 
-                }
+                msls.add("RYBMQ1");
+                msls.add("RYBMQ2");
+                msls.add("RYBMQ3");
+                msls.add("BJSD1");
+                msls.add("BJSD2");
+                msls.add("BJSD3");
+                msls.add("U1YZDL");
+                msls.add("U2YZDL");
+                msls.add("U3YZDL");
+                msls.add("U1YZDY");
+                msls.add("U2YZDY");
+                msls.add("U3YZDY");
+
+
+
+                initialpoint(id, zbls, keyls, bjnamemap,uids,msls);
 
 
                 List<String> unicodels = new ArrayList<>();
@@ -169,23 +186,20 @@ public class WtInfoPushService {
                 unicodels.add(Constant.TPOINT_WT_YP2XW95);
                 unicodels.add(Constant.TPOINT_WT_YP3XW95);
 
-                List<WindTurbineTestingPointDi2> list = windTurbineTestingPointDiService.getWindTurbineTestingPointDi2List(id, unicodels);
+                List<String> unmsls = new ArrayList<>();
 
-                if (!list.isEmpty()) {
+                unmsls.add("YP1XW91");
+                unmsls.add("YP2XW91");
+                unmsls.add("YP3XW91");
+                unmsls.add("YP1XW95");
+                unmsls.add("YP2XW95");
+                unmsls.add("YP3XW95");
 
-                       for (WindTurbineTestingPointDi2 di : list) {
-                        if(bjnamemap.containsKey(di.getUniformcode()))
-                        {
-                            continue;
-                        }
-                        zbls.add(di.getId());//
-                        keyls.add(di.getUniformcode());
-                        bjnamemap.put(di.getUniformcode(),zbls.size()-1);
+                InitalDiMap(id, zbls, keyls, bjnamemap, unicodels, unmsls);
 
-                    }
-                }
 /**************************************************************************齿轮箱*****************************************************************************/
 
+                msls=new ArrayList<>();
                 uids=new ArrayList<>();
                 uids.add(Constant.TPOINT_WT_RHYLWRKYL);
                 uids.add(Constant.TPOINT_WT_RHYLWCKYL);
@@ -194,8 +208,14 @@ public class WtInfoPushService {
                 uids.add(Constant.TPOINT_WT_CLXRHYLWYC);
                 uids.add(Constant.TPOINT_WT_CLXRKYW);
 
+                msls.add("RHYLWRKYL");
+                msls.add("RHYLWCKYL");
+                msls.add("CLXSRZ1WD");
+                msls.add("CLXRHYJRBH");
+                msls.add("CLXRHYLWYC");
+                msls.add("CLXRKYW");
 
-                initialpoint(id, zbls, keyls, clxnamemap,uids);
+                initialpoint(id, zbls, keyls, clxnamemap,uids,msls);
 
                 unicodels = new ArrayList<>();
 
@@ -211,40 +231,39 @@ public class WtInfoPushService {
                 unicodels.add(Constant.TPOINT_WT_QDCLXYBJRQ);
 
 
-                list = windTurbineTestingPointDiService.getWindTurbineTestingPointDi2List(id, unicodels);
+                unmsls = new ArrayList<>();
 
-                if (!list.isEmpty()) {
+                unmsls.add("CLXYW");
+                unmsls.add("CLXRHYYL");
+                unmsls.add("CLXRHBDJBH");
+                unmsls.add("CLXRHYJRBH");
+                unmsls.add("CLXRHYLWYC");
+                unmsls.add("CLXYJRQBH");
+                unmsls.add("QDCLXRHJRQ");
+                unmsls.add("QDCLXRHGSBA");
+                unmsls.add("QDCLXRHGSBB");
+                unmsls.add("QDCLXYBJRQ");
+
+                InitalDiMap(id, zbls, keyls, clxnamemap, unicodels, unmsls);
 
-                    for (WindTurbineTestingPointDi2 di : list) {
-                        if(clxnamemap.containsKey(di.getUniformcode()))
-                        {
-                            continue;
-                        }
-                        zbls.add(di.getId());//
-                        keyls.add(di.getUniformcode());
-                        clxnamemap.put(di.getUniformcode(),zbls.size()-1);
 
-                    }
-                }
 /***********************************************************************发电机********************************************************************************/
-                if (wt.getWindpowerstationid().equals(QS_FDC)) {
 
+                msls=new ArrayList<>();
+                uids=new ArrayList<>();
+                if (wt.getWindpowerstationid().equals(QS_FDC)) {
 
-                    uids=new ArrayList<>();
                     uids.add(Constant.QSTPOINT_WT_U1YZWD);
                     uids.add(Constant.QSTPOINT_WT_V1YZWD);
                     uids.add(Constant.QSTPOINT_WT_W1YZWD);
                     uids.add(Constant.TPOINT_WT_FDJZCAWD);
                     uids.add(Constant.TPOINT_WT_FDJZCBWD);
                     uids.add(Constant.TPOINT_WT_FDJLQFWD);
-
                     uids.add(Constant.TPOINT_WT_FDJHHWD);
 
 
-                    initialpoint(id, zbls, keyls, fdjnamemap,uids);
-
                 } else {
-                    uids=new ArrayList<>();
+
                     uids.add(Constant.TPOINT_WT_U1YZWD);
                     uids.add(Constant.TPOINT_WT_V1YZWD);
                     uids.add(Constant.TPOINT_WT_W1YZWD);
@@ -253,9 +272,18 @@ public class WtInfoPushService {
                     uids.add(Constant.TPOINT_WT_FDJLQFWD);
                     uids.add(Constant.TPOINT_WT_FDJHHWD);
 
-                    initialpoint(id, zbls, keyls, fdjnamemap,uids);
                 }
 
+                msls.add("U1YZWD");
+                msls.add("V1YZWD");
+                msls.add("W1YZWD");
+                msls.add("FDJZCAWD");
+                msls.add("FDJZCBWD");
+                msls.add("FDJLQFWD");
+                msls.add("FDJHHWD");
+
+                initialpoint(id, zbls, keyls, fdjnamemap,uids,msls);
+
                 unicodels = new ArrayList<>();
 
                 unicodels.add(Constant.TPOINT_WT_FDJJRQBHZC);
@@ -272,49 +300,43 @@ public class WtInfoPushService {
                 unicodels.add(Constant.TPOINT_WT_QDFDJRHYB);
 
 
-                list = windTurbineTestingPointDiService.getWindTurbineTestingPointDi2List(id, unicodels);
+                unmsls = new ArrayList<>();
 
-                if (!list.isEmpty()) {
+                unmsls.add("FDJJRQBHZC");
+                unmsls.add("QDFDJJRQ");
+                unmsls.add("FDJDSMS");
+                unmsls.add("QDKLFS1");
+                unmsls.add("QDKLFS2");
+                unmsls.add("KLFSBH1");
+                unmsls.add("KLFSBH2");
+                unmsls.add("QDSLFS1");
+                unmsls.add("QDSLFSBH1");
+                unmsls.add("LQSYL");
+                unmsls.add("FDJRHYBYW");
+                unmsls.add("QDFDJRHYB");
 
-                    for (WindTurbineTestingPointDi2 di : list) {
-                        if(fdjnamemap.containsKey(di.getUniformcode()))
-                        {
-                            continue;
-                        }
-                        zbls.add(di.getId());//
-                        keyls.add(di.getUniformcode());
-                        fdjnamemap.put(di.getUniformcode(),zbls.size()-1);
-
-                    }
-                }
+                InitalDiMap(id, zbls, keyls, fdjnamemap, unicodels, unmsls);
 
 /*********************************************************************偏航**********************************************************************************/
 
 
-
+                msls=new ArrayList<>();
+                uids=new ArrayList<>();
                 if (wt.getWindpowerstationid().equals(QS_FDC)) {
 
-
-                    uids=new ArrayList<>();
                     uids.add(Constant.TPOINT_WT_DFJD);
                     uids.add(Constant.QSTPOINT_WT_PHWZ);
 
-
-
-                    initialpoint(id, zbls, keyls, phnamemap,uids);
-
-
                 } else {
-                    uids=new ArrayList<>();
+
                     uids.add(Constant.TPOINT_WT_DFJD);
                     uids.add(Constant.TPOINT_WT_PHWZ);
 
-
-
-                    initialpoint(id, zbls, keyls, phnamemap,uids);
-
                 }
 
+                msls.add("DFJD");
+                msls.add("PHWZ");
+                initialpoint(id, zbls, keyls, phnamemap,uids,msls);
 
                 unicodels = new ArrayList<>();
 
@@ -337,30 +359,42 @@ public class WtInfoPushService {
                 unicodels.add(Constant.TPOINT_WT_PHDJ3BH);
                 unicodels.add(Constant.TPOINT_WT_PHDJ4BH);
 
-
-                if (!list.isEmpty()) {
-
-                    for (WindTurbineTestingPointDi2 di : list) {
-                        if(phnamemap.containsKey(di.getUniformcode()))
-                        {
-                            continue;
-                        }
-                        zbls.add(di.getId());//
-                        keyls.add(di.getUniformcode());
-                        phnamemap.put(di.getUniformcode(),zbls.size()-1);
-
-                    }
-                }
+                unmsls = new ArrayList<>();
+
+                unmsls.add("PHZJX");
+                unmsls.add("PHYJX");
+                unmsls.add("PHRQDQZC");
+                unmsls.add("ZPHDZ");
+                unmsls.add("PHDSCDK");
+                unmsls.add("YPHDZ");
+                unmsls.add("PHRQDQDZ");
+                unmsls.add("PHRQDQSN");
+                unmsls.add("PHBMQZL");
+                unmsls.add("JLDZ");
+                unmsls.add("PHCGQMTOK");
+                unmsls.add("PHCGQOK");
+                unmsls.add("PHZCRHYW");
+                unmsls.add("PHRHBZCBH");
+                unmsls.add("PHDJ1BH");
+                unmsls.add("PHDJ2BH");
+                unmsls.add("PHDJ3BH");
+                unmsls.add("PHDJ4BH");
+
+                InitalDiMap(id, zbls, keyls, phnamemap, unicodels, unmsls);
 /****************************************************************液压***************************************************************************************/
 
+                msls=new ArrayList<>();
                 uids=new ArrayList<>();
                 uids.add(Constant.TPOINT_WT_YYXTYY);
                 uids.add(Constant.TPOINT_WT_ZZSCXTYY);
                 uids.add(Constant.TPOINT_WT_FDJLQSWD);
                 uids.add(Constant.TPOINT_WT_YYYW);
 
-
-                initialpoint(id, zbls, keyls, yynamemap,uids);
+                msls.add("YYXTYY");
+                msls.add("ZZSCXTYY");
+                msls.add("FDJLQSWD");
+                msls.add("YYYW");
+                initialpoint(id, zbls, keyls, yynamemap,uids,msls);
 
                 unicodels = new ArrayList<>();
 
@@ -371,30 +405,24 @@ public class WtInfoPushService {
                 unicodels.add(Constant.TPOINT_WT_YYYJRQBH);
 
 
-                list = windTurbineTestingPointDiService.getWindTurbineTestingPointDi2List(id, unicodels);
-
-                if (!list.isEmpty()) {
+                unmsls = new ArrayList<>();
 
-                    for (WindTurbineTestingPointDi2 di : list) {
-                        if(yynamemap.containsKey(di.getUniformcode()))
-                        {
-                            continue;
-                        }
-                        zbls.add(di.getId());//
-                        keyls.add(di.getUniformcode());
-                        yynamemap.put(di.getUniformcode(),zbls.size()-1);
+                unmsls.add("YYYWDCX");
+                unmsls.add("YYYYW");
+                unmsls.add("YLSCYY");
+                unmsls.add("YYBDJBH");
+                unmsls.add("YYYJRQBH");
 
-                    }
-                }
+                InitalDiMap(id, zbls, keyls, yynamemap, unicodels, unmsls);
 /***********************************************************************机舱********************************************************************************/
 
 
 
-
+                msls=new ArrayList<>();
+                uids=new ArrayList<>();
 
                 if (wt.getWindpowerstationid().equals(QS_FDC)) {
 
-                    uids=new ArrayList<>();
                     uids.add(Constant.TPOINT_WT_YPWZ1);
                     uids.add(Constant.TPOINT_WT_YPWZ2);
                     uids.add(Constant.TPOINT_WT_YPWZ3);
@@ -407,19 +435,14 @@ public class WtInfoPushService {
                     uids.add(Constant.TPOINT_WT_FJFX);
                     uids.add(Constant.TPOINT_WT_YLZS);
                     uids.add(Constant.QSTPOINT_WT_FDJZS);
-
                     uids.add(Constant.TPOINT_WT_JCWWD);
                     uids.add(Constant.TPOINT_WT_JCWD);
                     uids.add(Constant.TPOINT_WT_TDGWD);
                     uids.add(Constant.TPOINT_WT_JCGWD);
 
 
-                    initialpoint(id, zbls, keyls, jcnamemap,uids);
-
-
-
                 } else {
-                    uids=new ArrayList<>();
+
                     uids.add(Constant.TPOINT_WT_YPWZ1);
                     uids.add(Constant.TPOINT_WT_YPWZ2);
                     uids.add(Constant.TPOINT_WT_YPWZ3);
@@ -432,16 +455,33 @@ public class WtInfoPushService {
                     uids.add(Constant.TPOINT_WT_FJFX);
                     uids.add(Constant.TPOINT_WT_YLZS);
                     uids.add(Constant.TPOINT_WT_FDJZS);
-
                     uids.add(Constant.TPOINT_WT_JCWWD);
                     uids.add(Constant.TPOINT_WT_JCWD);
                     uids.add(Constant.TPOINT_WT_TDGWD);
                     uids.add(Constant.TPOINT_WT_JCGWD);
 
-                    initialpoint(id, zbls, keyls, jcnamemap,uids);
+
 
                 }
 
+                msls.add("YPWZ1");
+                msls.add("YPWZ2");
+                msls.add("YPWZ3");
+                msls.add("FJSSFS");
+                msls.add("FJGL");
+                msls.add("GLYS");
+                msls.add("BJJD1");
+                msls.add("FJPL");
+                msls.add("WGGL");
+                msls.add("FJFX");
+                msls.add("YLZS");
+                msls.add("FDJZS");
+                msls.add("JCWWD");
+                msls.add("JCWD");
+                msls.add("TDGWD");
+                msls.add("JCGWD");
+
+                initialpoint(id, zbls, keyls, jcnamemap,uids,msls);
 
                 unicodels = new ArrayList<>();
 
@@ -457,21 +497,20 @@ public class WtInfoPushService {
                 unicodels.add(Constant.TPOINT_WT_LQSYL2);
 
 
-                list = windTurbineTestingPointDiService.getWindTurbineTestingPointDi2List(id, unicodels);
+                unmsls = new ArrayList<>();
 
-                if (!list.isEmpty()) {
+                unmsls.add("YYYYW2");
+                unmsls.add("YYYWDCX2");
+                unmsls.add("YLSCYY2");
+                unmsls.add("YYBDJBH2");
+                unmsls.add("YYYJRQBH2");
+                unmsls.add("CLXYW2");
+                unmsls.add("CLXRHYYL2");
+                unmsls.add("CLXRHYJRBH2");
+                unmsls.add("FDJJRQBHZC2");
+                unmsls.add("LQSYL2");
 
-                    for (WindTurbineTestingPointDi2 di : list) {
-                        if(jcnamemap.containsKey(di.getUniformcode()))
-                        {
-                            continue;
-                        }
-                        zbls.add(di.getId());//
-                        keyls.add(di.getUniformcode());
-                        jcnamemap.put(di.getUniformcode(),zbls.size()-1);
-
-                    }
-                }
+                InitalDiMap(id, zbls, keyls, jcnamemap, unicodels, unmsls);
 
 /*******************************************************************************************************************************************************/
 
@@ -617,55 +656,106 @@ public class WtInfoPushService {
 
 /*************************************************关系库指标**************************************************************/
 
-//            Map<String, Double> gxkmap = new HashMap<>();
-//            Date date = DateUtils.truncate(new Date());
-//            List<WindTurbineInfoDay> wtdls = windturbineinfodayService.getWindturbineinfo(id, date);
-//            if (!wtdls.isEmpty()) {
-//                WindTurbineInfoDay wd = wtdls.get(0);
-//                gxkmap.put("ndxkyss", wd.getYeardxkyxs());
-//                gxkmap.put("nsbklyl", wd.getYearsbklyl());
-//                gxkmap.put("ydxkyss", wd.getMonthdxkyxs());
-//                gxkmap.put("ysbklyl", wd.getMonthsbklyl());
-//
-//                gxkmap.put("yyxxs", wd.getMonthruntime());
-//                gxkmap.put("ygzxs", wd.getMonthfaulttime());
-//                gxkmap.put("yjxxs", wd.getMonthmaintaintime());
-//                gxkmap.put("ytjxs", wd.getMonhtstoptime());
-//
-//            } else {
-//                gxkmap.put("ndxkyss", 0.0);
-//                gxkmap.put("nsbklyl", 0.0);
-//                gxkmap.put("ydxkyss", 0.0);
-//                gxkmap.put("ysbklyl", 0.0);
-//
-//                gxkmap.put("yyxxs", 0.0);
-//                gxkmap.put("ygzxs", 0.0);
-//                gxkmap.put("yjxxs", 0.0);
-//                gxkmap.put("ytjxs", 0.0);
-//            }
-//
-//            map.put("gxkmap", gxkmap);
-//        }
+            Map<String, Double> gxkmap = new HashMap<>();
+            Date date = DateUtils.truncate(new Date());
+            List<WindTurbineInfoDay> wtdls = windturbineinfodayService.getWindturbineinfo(id, date);
+            if (!wtdls.isEmpty()) {
+                WindTurbineInfoDay wd = wtdls.get(0);
+                gxkmap.put("ndxkyss", wd.getYeardxkyxs());
+                gxkmap.put("nsbklyl", wd.getYearsbklyl());
+                gxkmap.put("ydxkyss", wd.getMonthdxkyxs());
+                gxkmap.put("ysbklyl", wd.getMonthsbklyl());
+
+                gxkmap.put("yyxxs", wd.getMonthruntime());
+                gxkmap.put("ygzxs", wd.getMonthfaulttime());
+                gxkmap.put("yjxxs", wd.getMonthmaintaintime());
+                gxkmap.put("ytjxs", wd.getMonhtstoptime());
+
+            } else {
+                gxkmap.put("ndxkyss", 0.0);
+                gxkmap.put("nsbklyl", 0.0);
+                gxkmap.put("ydxkyss", 0.0);
+                gxkmap.put("ysbklyl", 0.0);
+
+                gxkmap.put("yyxxs", 0.0);
+                gxkmap.put("ygzxs", 0.0);
+                gxkmap.put("yjxxs", 0.0);
+                gxkmap.put("ytjxs", 0.0);
+            }
+
+            map.put("gxkmap", gxkmap);
+
 /*************************************************关系库指标**************************************************************/
         }
 
         return map;
     }
 
-    private void initialpoint(String id, List<String> zbls, List<String> keyls, Map<String, Integer> bjnamemap,List<String> uids) {
+    private void InitalDiMap(String id, List<String> zbls, List<String> keyls, Map<String, Integer> map, List<String> unicodels, List<String> unmsls) {
+        if(unmsls.size()==unicodels.size())
+        {
+            Map<String,String> tempmap=new HashMap<>();
+            for(int i=0;i<unmsls.size();i++)
+            {
+                tempmap.put(unicodels.get(i),unmsls.get(i));
+            }
+            List<WindTurbineTestingPointDi2> list = windTurbineTestingPointDiService.getWindTurbineTestingPointDi2List(id, unicodels);
+
+            if (!list.isEmpty()) {
+
+                for (int i=0;i<list.size();i++) {
+                    WindTurbineTestingPointDi2 di=list.get(i);
+                    if(map.containsKey(di.getUniformcode()))
+                    {
+                        continue;
+                    }
+                    if(null!=di.getId())
+                    {
+                        zbls.add(di.getId());//
+                        if(tempmap.containsKey(di.getUniformcode()))
+                        {
+                            keyls.add(tempmap.get(di.getUniformcode()));
+                            map.put(tempmap.get(di.getUniformcode()),zbls.size()-1);
+                        }
+
+                    }
+                }
+            }
+        }
+    }
+
+    private void initialpoint(String id, List<String> zbls, List<String> keyls, Map<String, Integer> bjnamemap,List<String> uids ,List<String> msls) {
 
-        for(String uid:uids)
+        if(msls.size()==uids.size())
         {
-            WindTurbineTestingPointAi2 point= windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, uid);
-            if(null!=point)
+            for(int i=0;i<uids.size();i++)
             {
-                zbls.add(point.getId());//
-                keyls.add(point.getUniformcode());//
-                bjnamemap.put(point.getUniformcode(),zbls.size()-1);
+                WindTurbineTestingPointAi2 point= windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, uids.get(i));
+                if(null!=point && null!=point.getId())
+                {
+                    zbls.add(point.getId());//
+                    keyls.add(msls.get(i));//
+                    bjnamemap.put(msls.get(i),zbls.size()-1);
+                }
             }
         }
 
+
     }
+//    private void initialpoint(String id, List<String> zbls, List<String> keyls, Map<String, Integer> bjnamemap,List<String> uids) {
+//
+//        for(String uid:uids)
+//        {
+//            WindTurbineTestingPointAi2 point= windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(id, uid);
+//            if(null!=point && null!=point.getId())
+//            {
+//                zbls.add(point.getId());//
+//              // keyls.add(point.getUniformcode());//
+//                bjnamemap.put(point.getUniformcode(),zbls.size()-1);
+//            }
+//        }
+//
+//    }
 
 
 
@@ -684,7 +774,7 @@ public class WtInfoPushService {
                     String id=wt.getId();
 
 
-
+                    List<String> msls = new ArrayList<>();
                     List<String> zbls = new ArrayList<>();
                     List<String> keyls = new ArrayList<>();
                     List<String> uids = new ArrayList<>();
@@ -694,31 +784,57 @@ public class WtInfoPushService {
                     uids.add(Constant.TPOINT_WT_FJGL);//有功功率
                     uids.add(Constant.TPOINT_WT_YYYW);//液压油温
                     uids.add(Constant.PCS_WD);//PSC温度
+
+
+                    msls.add("FDJLQFWD");//冷却风温度
+                    msls.add("FJGL");//有功功率
+                    msls.add("YYYW");//液压油温
+                    msls.add("PCS_WD");//PSC温度
                     if (wt.getWindpowerstationid().equals(QS_FDC)) {
                         uids.add(Constant.QSTPOINT_WT_U1YZWD);//U1绕组温度
                         uids.add(Constant.QSTPOINT_WT_V1YZWD);//V1绕组温度
                         uids.add(Constant.QSTPOINT_WT_W1YZWD);//W1绕组温度
+
+                        msls.add("U1YZWD");//U1绕组温度
+                        msls.add("V1YZWD");//V1绕组温度
+                        msls.add("W1YZWD");//W1绕组温度
                     }else
                     {
                         uids.add(Constant.TPOINT_WT_U1YZWD);//U1绕组温度
                         uids.add(Constant.TPOINT_WT_V1YZWD);//V1绕组温度
                         uids.add(Constant.TPOINT_WT_W1YZWD);//W1绕组温度
+
+                        msls.add("U1YZWD");//U1绕组温度
+                        msls.add("V1YZWD");//V1绕组温度
+                        msls.add("W1YZWD");//W1绕组温度
                     }
                     uids.add(Constant.TPOINT_WT_U2YZWD);//U2绕组温度
                     uids.add(Constant.TPOINT_WT_V2YZWD);//V2绕组温度
                     uids.add(Constant.TPOINT_WT_W2YZWD);//W2绕组温度
-
                     uids.add(Constant.TPOINT_WT_FDJZCAWD);//发电机轴承A温度
                     uids.add(Constant.TPOINT_WT_FDJZCBWD);//发电机轴承B温度
-
                     uids.add(Constant.TPOINT_WT_CLXWD);//齿轮箱油温
                     uids.add(Constant.TPOINT_WT_CLXSRZ1WD);//齿轮箱输入轴1温度
                     uids.add(Constant.TPOINT_WT_CLXSRZ2WD);//齿轮箱输入轴2温度
                     uids.add(Constant.TPOINT_WT_JCWD);//机舱温度
                     uids.add(Constant.TPOINT_WT_JCWWD);//机舱外温度
-
                     uids.add(Constant.TPOINT_WT_FDJHHWD);//发电机滑环温度
-                    initialpoint(id, zbls, keyls, namemap,uids);
+
+
+                    msls.add("U2YZWD");//U2绕组温度
+                    msls.add("V2YZWD");//V2绕组温度
+                    msls.add("W2YZWD");//W2绕组温度
+                    msls.add("FDJZCAWD");//发电机轴承A温度
+                    msls.add("FDJZCBWD");//发电机轴承B温度
+                    msls.add("CLXWD");//齿轮箱油温
+                    msls.add("CLXSRZ1WD");//齿轮箱输入轴1温度
+                    msls.add("CLXSRZ2WD");//齿轮箱输入轴2温度
+                    msls.add("JCWD");//机舱温度
+                    msls.add("JCWWD");//机舱外温度
+                    msls.add("FDJHHWD");//发电机滑环温度
+                    
+                    
+                    initialpoint(id, zbls, keyls, namemap,uids,msls);
 /*******************************************************************************************************************************************************/
 
                     Map<String, Object> zbmap = new HashMap<>();
@@ -754,6 +870,13 @@ public class WtInfoPushService {
 
                     }
 
+                    for(String str:msls)
+                    {
+                        if(!zbmap.containsKey(str))
+                        {
+                            zbmap.put(str,null);
+                        }
+                    }
                     vos.add(zbmap);
 
                 }

+ 23 - 15
src/main/java/com/gyee/frame/service/websocket/WtWarnPushService.java

@@ -33,12 +33,8 @@ public class WtWarnPushService {
 
     public Map<String, Object> genreSetMap() throws Exception {
 
-        Map<String, Object> map = new HashMap<>();
-        map.put("SG01_01", findWtWarnInfo("SG01_01"));
-        map.put("NG01_01", findWtWarnInfo("NG01_01"));
-        map.put("XG01_01", findWtWarnInfo("XG01_01"));
-        map.put("QG01_01", findWtWarnInfo("QG01_01"));
-       map.put("MG01_01", findWtWarnInfo("MG01_01"));
+        Map<String, Object> map = findWtWarnInfo("SG01_01");
+
         return map;
 
     }
@@ -67,10 +63,12 @@ public class WtWarnPushService {
                                 sb.setLength(0);
                                 sb.append("DI").append(wr.getEdnavalue());
                                 unicodels.add(String.valueOf(sb));
-
+                                //生成统一编码
                                 wmap.put(String.valueOf(sb),wr);
                             }
 
+                            Map<String,String> dimap=new HashMap<>();
+
                             List<WindTurbineTestingPointDi2> list=windTurbineTestingPointDiService.getWindTurbineTestingPointDi2List(id,unicodels);
                             if(!list.isEmpty())
                             {
@@ -78,15 +76,25 @@ public class WtWarnPushService {
                                 List<String> pointls = new ArrayList<>();
                                 for(WindTurbineTestingPointDi2 di:list)
                                 {
-                                    pointls.add(di.getId());
-                                    ValueVo vo = new ValueVo();
-                                    vo.setName(di.getName());
-                                    if(wmap.containsKey(di.getUniformcode()))
+
+                                    if(null!=di && null!=di.getId())
                                     {
-                                        Warning2 wr=wmap.get(di.getUniformcode());
-                                        vo.setTypeId(wr.getWarningclassifyid());
+                                        if(dimap.containsKey(di.getUniformcode()))
+                                        {
+                                            continue;
+                                        }
+                                        dimap.put(di.getUniformcode(),di.getUniformcode());
+                                        pointls.add(di.getId());
+                                        ValueVo vo = new ValueVo();
+                                        vo.setName(di.getName());
+                                        if(wmap.containsKey(di.getUniformcode()))
+                                        {
+                                            Warning2 wr=wmap.get(di.getUniformcode());
+                                            vo.setTypeId(wr.getWarningclassifyid());
+                                        }
+                                        vos.add(vo);
                                     }
-                                    vos.add(vo);
+
                                 }
                                 List<PointData> pointlist = realApiUtil.getRealData(pointls);
 
@@ -114,7 +122,7 @@ public class WtWarnPushService {
                                         typemap.put(vo.getTypeId(), ls);
                                     }
                                 }
-                                map.put(wt.getModelid(),typemap);
+                                map.put(id,typemap);
                             }
 
                         }

+ 16 - 0
src/main/resources/application.yml

@@ -112,6 +112,22 @@ spring :
 #    #开启MyBatis的二级缓存
 #    cache-enabled: false
 #pagehelper分页插件
+udp:
+  port: 12025
+
+asyncThreadPool:
+  # 核心线程池大小
+  corePoolSize: 15
+  # 最大线程数
+  maxPoolSize: 30
+  # 队列容量
+  queueCapacity: 150
+  # 活跃时间
+  keepAliveSeconds: 30
+  # 主线程等待子线程执行时间
+  awaitTerminationSeconds: 30
+  # 线程名字前缀
+  threadNamePrefix: thread-pool-task-executor-
 pagehelper:
     helperDialect: oracle
     reasonable: true

+ 3 - 9
src/main/resources/mybatis-generator.xml

@@ -106,17 +106,11 @@
 <!--        <table tableName='Equipment' domainObjectName='EquipmentSql'/>-->
 
 
-        <table tableName='Wttragetreport3' domainObjectName='Wttragetreport3'/>
-        <table tableName='Wttragetreportchart3' domainObjectName='Wttragetreportchart3'/>
-        <table tableName='Wttragetreportfnlyl3' domainObjectName='Wttragetreportfnlyl3'/>
 
-        <table tableName='Wttragetreportkkxfx3' domainObjectName='Wttragetreportkkxfx3'/>
-        <table tableName='Wttragetreportmain3' domainObjectName='Wttragetreportmain3'/>
-        <table tableName='Wttragetreportpart3' domainObjectName='Wttragetreportpart3'/>
-
-        <table tableName='Wttragetreportxndjpj3' domainObjectName='Wttragetreportxndjpj3'/>
-        <table tableName='WtReportFault3' domainObjectName='WtReportFault3'/>
 
+        <table tableName='WtMttrAndMtbfDay' domainObjectName='WtMttrAndMtbfDay'/>
+        <table tableName='WtMttrAndMtbfMonth' domainObjectName='WtMttrAndMtbfMonth'/>
+        <table tableName='WtMttrAndMtbfYear' domainObjectName='WtMttrAndMtbfYear'/>
 
     </context>
 </generatorConfiguration>

+ 335 - 0
src/main/resources/mybatis/auto/WpMttrAndMtbMonthMapper.xml

@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.WpMttrAndMtbMonthMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WpMttrAndMtbMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="WPID" jdbcType="VARCHAR" property="wpid" />
+    <result column="WPNAME" jdbcType="VARCHAR" property="wpname" />
+    <result column="LOCATION" jdbcType="VARCHAR" property="location" />
+    <result column="YEAR" jdbcType="DECIMAL" property="year" />
+    <result column="MONTH" jdbcType="DECIMAL" property="month" />
+    <result column="STOPHOURS" jdbcType="DECIMAL" property="stophours" />
+    <result column="STOPRTIMES" jdbcType="DECIMAL" property="stoprtimes" />
+    <result column="WTHOURS" jdbcType="DECIMAL" property="wthours" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, WPID, WPNAME, LOCATION, YEAR, MONTH, STOPHOURS, STOPRTIMES, WTHOURS
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbMonthExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from WPMTTRANDMTBMONTH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from WPMTTRANDMTBMONTH
+    where ID = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WPMTTRANDMTBMONTH
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbMonthExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WPMTTRANDMTBMONTH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WPMTTRANDMTBMONTH (ID, WPID, WPNAME, 
+      LOCATION, YEAR, MONTH, 
+      STOPHOURS, STOPRTIMES, WTHOURS
+      )
+    values (#{id,jdbcType=VARCHAR}, #{wpid,jdbcType=VARCHAR}, #{wpname,jdbcType=VARCHAR}, 
+      #{location,jdbcType=VARCHAR}, #{year,jdbcType=DECIMAL}, #{month,jdbcType=DECIMAL}, 
+      #{stophours,jdbcType=DECIMAL}, #{stoprtimes,jdbcType=DECIMAL}, #{wthours,jdbcType=DECIMAL}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WPMTTRANDMTBMONTH
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wpid != null">
+        WPID,
+      </if>
+      <if test="wpname != null">
+        WPNAME,
+      </if>
+      <if test="location != null">
+        LOCATION,
+      </if>
+      <if test="year != null">
+        YEAR,
+      </if>
+      <if test="month != null">
+        MONTH,
+      </if>
+      <if test="stophours != null">
+        STOPHOURS,
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES,
+      </if>
+      <if test="wthours != null">
+        WTHOURS,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="wpid != null">
+        #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="location != null">
+        #{location,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="month != null">
+        #{month,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="wthours != null">
+        #{wthours,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbMonthExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WPMTTRANDMTBMONTH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBMONTH
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpid != null">
+        WPID = #{record.wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpname != null">
+        WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.location != null">
+        LOCATION = #{record.location,jdbcType=VARCHAR},
+      </if>
+      <if test="record.year != null">
+        YEAR = #{record.year,jdbcType=DECIMAL},
+      </if>
+      <if test="record.month != null">
+        MONTH = #{record.month,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stophours != null">
+        STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoprtimes != null">
+        STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="record.wthours != null">
+        WTHOURS = #{record.wthours,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBMONTH
+    set ID = #{record.id,jdbcType=VARCHAR},
+      WPID = #{record.wpid,jdbcType=VARCHAR},
+      WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      LOCATION = #{record.location,jdbcType=VARCHAR},
+      YEAR = #{record.year,jdbcType=DECIMAL},
+      MONTH = #{record.month,jdbcType=DECIMAL},
+      STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      WTHOURS = #{record.wthours,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBMONTH
+    <set>
+      <if test="wpid != null">
+        WPID = #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        WPNAME = #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="location != null">
+        LOCATION = #{location,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        YEAR = #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="month != null">
+        MONTH = #{month,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="wthours != null">
+        WTHOURS = #{wthours,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBMONTH
+    set WPID = #{wpid,jdbcType=VARCHAR},
+      WPNAME = #{wpname,jdbcType=VARCHAR},
+      LOCATION = #{location,jdbcType=VARCHAR},
+      YEAR = #{year,jdbcType=DECIMAL},
+      MONTH = #{month,jdbcType=DECIMAL},
+      STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      WTHOURS = #{wthours,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 318 - 0
src/main/resources/mybatis/auto/WpMttrAndMtbfDayMapper.xml

@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.WpMttrAndMtbfDayMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WpMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="WPID" jdbcType="VARCHAR" property="wpid" />
+    <result column="WPNAME" jdbcType="VARCHAR" property="wpname" />
+    <result column="LOCATION" jdbcType="VARCHAR" property="location" />
+    <result column="RECORDDATE" jdbcType="TIMESTAMP" property="recorddate" />
+    <result column="STOPHOURS" jdbcType="DECIMAL" property="stophours" />
+    <result column="STOPRTIMES" jdbcType="DECIMAL" property="stoprtimes" />
+    <result column="WTHOURS" jdbcType="DECIMAL" property="wthours" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, WPID, WPNAME, LOCATION, RECORDDATE, STOPHOURS, STOPRTIMES, WTHOURS
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfDayExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from WPMTTRANDMTBFDAY
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from WPMTTRANDMTBFDAY
+    where ID = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WPMTTRANDMTBFDAY
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfDayExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WPMTTRANDMTBFDAY
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WPMTTRANDMTBFDAY (ID, WPID, WPNAME, 
+      LOCATION, RECORDDATE, STOPHOURS, 
+      STOPRTIMES, WTHOURS)
+    values (#{id,jdbcType=VARCHAR}, #{wpid,jdbcType=VARCHAR}, #{wpname,jdbcType=VARCHAR}, 
+      #{location,jdbcType=VARCHAR}, #{recorddate,jdbcType=TIMESTAMP}, #{stophours,jdbcType=DECIMAL}, 
+      #{stoprtimes,jdbcType=DECIMAL}, #{wthours,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WPMTTRANDMTBFDAY
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wpid != null">
+        WPID,
+      </if>
+      <if test="wpname != null">
+        WPNAME,
+      </if>
+      <if test="location != null">
+        LOCATION,
+      </if>
+      <if test="recorddate != null">
+        RECORDDATE,
+      </if>
+      <if test="stophours != null">
+        STOPHOURS,
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES,
+      </if>
+      <if test="wthours != null">
+        WTHOURS,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="wpid != null">
+        #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="location != null">
+        #{location,jdbcType=VARCHAR},
+      </if>
+      <if test="recorddate != null">
+        #{recorddate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="wthours != null">
+        #{wthours,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfDayExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WPMTTRANDMTBFDAY
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFDAY
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpid != null">
+        WPID = #{record.wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpname != null">
+        WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.location != null">
+        LOCATION = #{record.location,jdbcType=VARCHAR},
+      </if>
+      <if test="record.recorddate != null">
+        RECORDDATE = #{record.recorddate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.stophours != null">
+        STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoprtimes != null">
+        STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="record.wthours != null">
+        WTHOURS = #{record.wthours,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFDAY
+    set ID = #{record.id,jdbcType=VARCHAR},
+      WPID = #{record.wpid,jdbcType=VARCHAR},
+      WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      LOCATION = #{record.location,jdbcType=VARCHAR},
+      RECORDDATE = #{record.recorddate,jdbcType=TIMESTAMP},
+      STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      WTHOURS = #{record.wthours,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFDAY
+    <set>
+      <if test="wpid != null">
+        WPID = #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        WPNAME = #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="location != null">
+        LOCATION = #{location,jdbcType=VARCHAR},
+      </if>
+      <if test="recorddate != null">
+        RECORDDATE = #{recorddate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="wthours != null">
+        WTHOURS = #{wthours,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFDAY
+    set WPID = #{wpid,jdbcType=VARCHAR},
+      WPNAME = #{wpname,jdbcType=VARCHAR},
+      LOCATION = #{location,jdbcType=VARCHAR},
+      RECORDDATE = #{recorddate,jdbcType=TIMESTAMP},
+      STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      WTHOURS = #{wthours,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 318 - 0
src/main/resources/mybatis/auto/WpMttrAndMtbfYearMapper.xml

@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.WpMttrAndMtbfYearMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WpMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="WPID" jdbcType="VARCHAR" property="wpid" />
+    <result column="WPNAME" jdbcType="VARCHAR" property="wpname" />
+    <result column="LOCATION" jdbcType="VARCHAR" property="location" />
+    <result column="YEAR" jdbcType="DECIMAL" property="year" />
+    <result column="STOPHOURS" jdbcType="DECIMAL" property="stophours" />
+    <result column="STOPRTIMES" jdbcType="DECIMAL" property="stoprtimes" />
+    <result column="WTHOURS" jdbcType="DECIMAL" property="wthours" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, WPID, WPNAME, LOCATION, YEAR, STOPHOURS, STOPRTIMES, WTHOURS
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfYearExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from WPMTTRANDMTBFYEAR
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from WPMTTRANDMTBFYEAR
+    where ID = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WPMTTRANDMTBFYEAR
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfYearExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WPMTTRANDMTBFYEAR
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WPMTTRANDMTBFYEAR (ID, WPID, WPNAME, 
+      LOCATION, YEAR, STOPHOURS, 
+      STOPRTIMES, WTHOURS)
+    values (#{id,jdbcType=VARCHAR}, #{wpid,jdbcType=VARCHAR}, #{wpname,jdbcType=VARCHAR}, 
+      #{location,jdbcType=VARCHAR}, #{year,jdbcType=DECIMAL}, #{stophours,jdbcType=DECIMAL}, 
+      #{stoprtimes,jdbcType=DECIMAL}, #{wthours,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WPMTTRANDMTBFYEAR
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wpid != null">
+        WPID,
+      </if>
+      <if test="wpname != null">
+        WPNAME,
+      </if>
+      <if test="location != null">
+        LOCATION,
+      </if>
+      <if test="year != null">
+        YEAR,
+      </if>
+      <if test="stophours != null">
+        STOPHOURS,
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES,
+      </if>
+      <if test="wthours != null">
+        WTHOURS,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="wpid != null">
+        #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="location != null">
+        #{location,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="wthours != null">
+        #{wthours,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfYearExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WPMTTRANDMTBFYEAR
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFYEAR
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpid != null">
+        WPID = #{record.wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpname != null">
+        WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.location != null">
+        LOCATION = #{record.location,jdbcType=VARCHAR},
+      </if>
+      <if test="record.year != null">
+        YEAR = #{record.year,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stophours != null">
+        STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoprtimes != null">
+        STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="record.wthours != null">
+        WTHOURS = #{record.wthours,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFYEAR
+    set ID = #{record.id,jdbcType=VARCHAR},
+      WPID = #{record.wpid,jdbcType=VARCHAR},
+      WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      LOCATION = #{record.location,jdbcType=VARCHAR},
+      YEAR = #{record.year,jdbcType=DECIMAL},
+      STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      WTHOURS = #{record.wthours,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFYEAR
+    <set>
+      <if test="wpid != null">
+        WPID = #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        WPNAME = #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="location != null">
+        LOCATION = #{location,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        YEAR = #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+      <if test="wthours != null">
+        WTHOURS = #{wthours,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WpMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WPMTTRANDMTBFYEAR
+    set WPID = #{wpid,jdbcType=VARCHAR},
+      WPNAME = #{wpname,jdbcType=VARCHAR},
+      LOCATION = #{location,jdbcType=VARCHAR},
+      YEAR = #{year,jdbcType=DECIMAL},
+      STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      WTHOURS = #{wthours,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 288 - 0
src/main/resources/mybatis/auto/WtMttrAndMtbfDayMapper.xml

@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.WtMttrAndMtbfDayMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WtMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="WPNAME" jdbcType="VARCHAR" property="wpname" />
+    <result column="RECORDDATE" jdbcType="TIMESTAMP" property="recorddate" />
+    <result column="STOPHOURS" jdbcType="DECIMAL" property="stophours" />
+    <result column="STOPRTIMES" jdbcType="DECIMAL" property="stoprtimes" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, WTID, WPNAME, RECORDDATE, STOPHOURS, STOPRTIMES
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfDayExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from WTMTTRANDMTBFDAY
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from WTMTTRANDMTBFDAY
+    where ID = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WTMTTRANDMTBFDAY
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfDayExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WTMTTRANDMTBFDAY
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WTMTTRANDMTBFDAY (ID, WTID, WPNAME, 
+      RECORDDATE, STOPHOURS, STOPRTIMES
+      )
+    values (#{id,jdbcType=VARCHAR}, #{wtid,jdbcType=VARCHAR}, #{wpname,jdbcType=VARCHAR}, 
+      #{recorddate,jdbcType=TIMESTAMP}, #{stophours,jdbcType=DECIMAL}, #{stoprtimes,jdbcType=DECIMAL}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WTMTTRANDMTBFDAY
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wtid != null">
+        WTID,
+      </if>
+      <if test="wpname != null">
+        WPNAME,
+      </if>
+      <if test="recorddate != null">
+        RECORDDATE,
+      </if>
+      <if test="stophours != null">
+        STOPHOURS,
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="wtid != null">
+        #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="recorddate != null">
+        #{recorddate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfDayExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WTMTTRANDMTBFDAY
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFDAY
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wtid != null">
+        WTID = #{record.wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpname != null">
+        WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.recorddate != null">
+        RECORDDATE = #{record.recorddate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.stophours != null">
+        STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoprtimes != null">
+        STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFDAY
+    set ID = #{record.id,jdbcType=VARCHAR},
+      WTID = #{record.wtid,jdbcType=VARCHAR},
+      WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      RECORDDATE = #{record.recorddate,jdbcType=TIMESTAMP},
+      STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFDAY
+    <set>
+      <if test="wtid != null">
+        WTID = #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        WPNAME = #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="recorddate != null">
+        RECORDDATE = #{recorddate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfDay">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFDAY
+    set WTID = #{wtid,jdbcType=VARCHAR},
+      WPNAME = #{wpname,jdbcType=VARCHAR},
+      RECORDDATE = #{recorddate,jdbcType=TIMESTAMP},
+      STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 303 - 0
src/main/resources/mybatis/auto/WtMttrAndMtbfMonthMapper.xml

@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.WtMttrAndMtbfMonthMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WtMttrAndMtbfMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="WPNAME" jdbcType="VARCHAR" property="wpname" />
+    <result column="YEAR" jdbcType="DECIMAL" property="year" />
+    <result column="MONTH" jdbcType="DECIMAL" property="month" />
+    <result column="STOPHOURS" jdbcType="DECIMAL" property="stophours" />
+    <result column="STOPRTIMES" jdbcType="DECIMAL" property="stoprtimes" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, WTID, WPNAME, YEAR, MONTH, STOPHOURS, STOPRTIMES
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfMonthExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from WTMTTRANDMTBFMONTH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from WTMTTRANDMTBFMONTH
+    where ID = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WTMTTRANDMTBFMONTH
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfMonthExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WTMTTRANDMTBFMONTH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WTMTTRANDMTBFMONTH (ID, WTID, WPNAME, 
+      YEAR, MONTH, STOPHOURS, 
+      STOPRTIMES)
+    values (#{id,jdbcType=VARCHAR}, #{wtid,jdbcType=VARCHAR}, #{wpname,jdbcType=VARCHAR}, 
+      #{year,jdbcType=DECIMAL}, #{month,jdbcType=DECIMAL}, #{stophours,jdbcType=DECIMAL}, 
+      #{stoprtimes,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WTMTTRANDMTBFMONTH
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wtid != null">
+        WTID,
+      </if>
+      <if test="wpname != null">
+        WPNAME,
+      </if>
+      <if test="year != null">
+        YEAR,
+      </if>
+      <if test="month != null">
+        MONTH,
+      </if>
+      <if test="stophours != null">
+        STOPHOURS,
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="wtid != null">
+        #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="month != null">
+        #{month,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfMonthExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WTMTTRANDMTBFMONTH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFMONTH
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wtid != null">
+        WTID = #{record.wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpname != null">
+        WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.year != null">
+        YEAR = #{record.year,jdbcType=DECIMAL},
+      </if>
+      <if test="record.month != null">
+        MONTH = #{record.month,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stophours != null">
+        STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoprtimes != null">
+        STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFMONTH
+    set ID = #{record.id,jdbcType=VARCHAR},
+      WTID = #{record.wtid,jdbcType=VARCHAR},
+      WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      YEAR = #{record.year,jdbcType=DECIMAL},
+      MONTH = #{record.month,jdbcType=DECIMAL},
+      STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFMONTH
+    <set>
+      <if test="wtid != null">
+        WTID = #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        WPNAME = #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        YEAR = #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="month != null">
+        MONTH = #{month,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfMonth">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFMONTH
+    set WTID = #{wtid,jdbcType=VARCHAR},
+      WPNAME = #{wpname,jdbcType=VARCHAR},
+      YEAR = #{year,jdbcType=DECIMAL},
+      MONTH = #{month,jdbcType=DECIMAL},
+      STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 288 - 0
src/main/resources/mybatis/auto/WtMttrAndMtbfYearMapper.xml

@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.WtMttrAndMtbfYearMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WtMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="WPNAME" jdbcType="VARCHAR" property="wpname" />
+    <result column="YEAR" jdbcType="DECIMAL" property="year" />
+    <result column="STOPHOURS" jdbcType="DECIMAL" property="stophours" />
+    <result column="STOPRTIMES" jdbcType="DECIMAL" property="stoprtimes" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, WTID, WPNAME, YEAR, STOPHOURS, STOPRTIMES
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfYearExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from WTMTTRANDMTBFYEAR
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from WTMTTRANDMTBFYEAR
+    where ID = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WTMTTRANDMTBFYEAR
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfYearExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WTMTTRANDMTBFYEAR
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WTMTTRANDMTBFYEAR (ID, WTID, WPNAME, 
+      YEAR, STOPHOURS, STOPRTIMES
+      )
+    values (#{id,jdbcType=VARCHAR}, #{wtid,jdbcType=VARCHAR}, #{wpname,jdbcType=VARCHAR}, 
+      #{year,jdbcType=DECIMAL}, #{stophours,jdbcType=DECIMAL}, #{stoprtimes,jdbcType=DECIMAL}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WTMTTRANDMTBFYEAR
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wtid != null">
+        WTID,
+      </if>
+      <if test="wpname != null">
+        WPNAME,
+      </if>
+      <if test="year != null">
+        YEAR,
+      </if>
+      <if test="stophours != null">
+        STOPHOURS,
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="wtid != null">
+        #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfYearExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WTMTTRANDMTBFYEAR
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFYEAR
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wtid != null">
+        WTID = #{record.wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpname != null">
+        WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.year != null">
+        YEAR = #{record.year,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stophours != null">
+        STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoprtimes != null">
+        STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFYEAR
+    set ID = #{record.id,jdbcType=VARCHAR},
+      WTID = #{record.wtid,jdbcType=VARCHAR},
+      WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      YEAR = #{record.year,jdbcType=DECIMAL},
+      STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{record.stoprtimes,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFYEAR
+    <set>
+      <if test="wtid != null">
+        WTID = #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        WPNAME = #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="year != null">
+        YEAR = #{year,jdbcType=DECIMAL},
+      </if>
+      <if test="stophours != null">
+        STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoprtimes != null">
+        STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WtMttrAndMtbfYear">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WTMTTRANDMTBFYEAR
+    set WTID = #{wtid,jdbcType=VARCHAR},
+      WPNAME = #{wpname,jdbcType=VARCHAR},
+      YEAR = #{year,jdbcType=DECIMAL},
+      STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      STOPRTIMES = #{stoprtimes,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 98 - 0
src/test/java/test/GenreSetPushDetialTest.java

@@ -0,0 +1,98 @@
+package test;
+
+import com.gyee.SpringbootStart;
+import com.gyee.frame.common.spring.SpringUtils;
+import com.gyee.frame.service.websocket.*;
+import lombok.SneakyThrows;
+import org.springframework.boot.SpringApplication;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class GenreSetPushDetialTest {
+
+    @SneakyThrows
+    public static void main(String[] args) {
+
+        SpringApplication.run(SpringbootStart.class, args);
+
+          String QS = "0";
+          String FD = "-1";
+          String GF = "-2";
+
+        String wtId="MG01_03";
+        String wpId="MHS_FDC";
+        String year="2021";
+        String month="1";
+
+        GenreSetPushDetailService genreSetPushDetailService= SpringUtils.getBean("genreSetPushDetailService");
+        GenreSetPushDetailWpService genreSetPushDetailWpService= SpringUtils.getBean("genreSetPushDetailWpService");
+        GenreSetPushDetailPjService genreSetPushDetailPjService= SpringUtils.getBean("genreSetPushDetailPjService");
+        GenreSetPushDetailLnService genreSetPushDetailLnService= SpringUtils.getBean("genreSetPushDetailLnService");
+        RealPowerPushService realPowerPushService= SpringUtils.getBean("realPowerPushService");
+
+        Map<String, Object> map = new HashMap<>();
+
+
+//        map.put("0", genreSetPushDetailService.findDayInfo("0",RFDL));
+//        map.put("MHS_FDC", genreSetPushDetailWpService.findDayInfo("MHS_FDC",RFDL));
+//        map.put("MHS01_GC", genreSetPushDetailPjService.findDayInfo("MHS01_GC",RFDL));
+//        map.put("MHS01_XL", genreSetPushDetailLnService.findDayInfo("MHS01_XL",RFDL));
+
+
+//        map.put("0", genreSetPushDetailService.findMonthInfo("0","yfdl"));
+//        map.put("MHS_FDC", genreSetPushDetailWpService.findMonthInfo("MHS_FDC","yfdl"));
+//        map.put("MHS01_GC", genreSetPushDetailPjService.findMonthInfo("MHS01_GC","yfdl"));
+//        map.put("MHS01_XL", genreSetPushDetailLnService.findMonthInfo("MHS01_XL","yfdl"));
+
+//        map.put("0", genreSetPushDetailService.findYearInfo("0","nfdl"));
+//        map.put("MHS_FDC", genreSetPushDetailWpService.findYearInfo("MHS_FDC","nfdl"));
+//        map.put("MHS01_GC", genreSetPushDetailPjService.findYearInfo("MHS01_GC","nfdl"));
+//        map.put("MHS01_XL", genreSetPushDetailLnService.findYearInfo("MHS01_XL","nfdl"));
+
+
+        map.put("0", realPowerPushService.findGLDetail("0","sjgl"));
+        map.put("MHS_FDC",realPowerPushService.findGLDetail("MHS_FDC","sjgl"));
+        map.put("MHS01_GC",realPowerPushService.findGLDetail("MHS01_GC","sjgl"));
+        map.put("MHS01_XL",realPowerPushService.findGLDetail("MHS01_XL","sjgl"));
+
+
+         System.out.println(map.size());
+
+
+
+//        AjaxResult ar = singleAnalysisController.singleanalysisSub(wtId,year,month);
+//
+//        Map<String,Object> map=( Map<String,Object>)ar.get("data");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getXfqr()+"----------------"+wtd.getXfqrhgl());
+//        }
+//
+//        AjaxResult ar = singleAnalysisController.singleanalysisChart(wtId,year,month);
+//
+//        Map<String, List<SingleAnalysisVo>> map=( Map<String,List<SingleAnalysisVo>>)ar.get("data");
+//        List<SingleAnalysisVo> vos=map.get("ff");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getFdl()+"----------------"+wtd.getFs());
+//        }
+//
+//        System.out.println("---------------------------------------------------------------------------------");
+//        vos=map.get("ws");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getGzss()+"----------------"+wtd.getJxss()+"----------------"+wtd.getXdss()
+//                    +"----------------"+wtd.getXnss()+"----------------"+wtd.getSlss());
+//        }
+//        System.out.println("---------------------------------------------------------------------------------");
+//        vos=map.get("jd");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getJfpl()+"----------------"+wtd.getTjxs());
+//        }
+//
+//
+//
+    }
+}

+ 86 - 0
src/test/java/test/UDPTest.java

@@ -0,0 +1,86 @@
+package test;
+
+import com.gyee.SpringbootStart;
+import com.gyee.frame.common.spring.SpringUtils;
+import com.gyee.frame.common.udp.client.UdpSimpleClient;
+import lombok.SneakyThrows;
+import org.springframework.boot.SpringApplication;
+
+import java.util.Date;
+
+public class UDPTest {
+
+    @SneakyThrows
+    public static void main(String[] args) {
+
+        SpringApplication.run(SpringbootStart.class, args);
+
+
+
+        String wtId="MG01_03";
+        String wpId="MHS_FDC";
+        String year="2021";
+        String month="1";
+
+        UdpSimpleClient udpSimpleClient= SpringUtils.getBean("udpSimpleClient");
+
+
+
+
+
+        Date begin=new Date();
+
+        udpSimpleClient.sendMessagetest("test");
+
+
+        Date end=new Date();
+        System.out.println((end.getTime()-begin.getTime())/1000);
+         System.out.println("map.size()");
+
+
+//        Date begin=new Date();
+//
+//        List<Map<String, Object>> map = wtInfoPushService.findWtInfoList("MHS_FDC");
+//
+//
+//        Date end=new Date();
+//        System.out.println((end.getTime()-begin.getTime())/1000);
+//        System.out.println(map.size());
+
+
+
+//        AjaxResult ar = singleAnalysisController.singleanalysisSub(wtId,year,month);
+//
+//        Map<String,Object> map=( Map<String,Object>)ar.get("data");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getXfqr()+"----------------"+wtd.getXfqrhgl());
+//        }
+//
+//        AjaxResult ar = singleAnalysisController.singleanalysisChart(wtId,year,month);
+//
+//        Map<String, List<SingleAnalysisVo>> map=( Map<String,List<SingleAnalysisVo>>)ar.get("data");
+//        List<SingleAnalysisVo> vos=map.get("ff");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getFdl()+"----------------"+wtd.getFs());
+//        }
+//
+//        System.out.println("---------------------------------------------------------------------------------");
+//        vos=map.get("ws");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getGzss()+"----------------"+wtd.getJxss()+"----------------"+wtd.getXdss()
+//                    +"----------------"+wtd.getXnss()+"----------------"+wtd.getSlss());
+//        }
+//        System.out.println("---------------------------------------------------------------------------------");
+//        vos=map.get("jd");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getJfpl()+"----------------"+wtd.getTjxs());
+//        }
+//
+//
+//
+    }
+}

+ 8 - 3
src/test/java/test/WpInfoPushTest.java

@@ -35,12 +35,17 @@ public class WpInfoPushTest {
         Date begin=new Date();
  //       Map<String, Object> map = wpInfoPushService.genreSetMap("SBQ_FDC");
 
-        List<DataVo> vos=wpInfoPushService.findLossWpBar("SBQ_FDC");
+//        List<DataVo> vos=wpInfoPushService.findLossWpBar("SBQ_FDC");
+//
+//        Date end=new Date();
+//        System.out.println((end.getTime()-begin.getTime())/1000);
+//         System.out.println(vos.size());
+
+        List<DataVo> vos=wpInfoPushService.findMonthPowerWpBar("MHS_FDC");
 
         Date end=new Date();
         System.out.println((end.getTime()-begin.getTime())/1000);
-         System.out.println(vos.size());
-
+        System.out.println(vos.size());
 
 
 //        AjaxResult ar = singleAnalysisController.singleanalysisSub(wtId,year,month);

+ 11 - 2
src/test/java/test/WtInfoPushServiceTest.java

@@ -7,7 +7,6 @@ import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
 
 import java.util.Date;
-import java.util.List;
 import java.util.Map;
 
 public class WtInfoPushServiceTest {
@@ -32,7 +31,7 @@ public class WtInfoPushServiceTest {
 
         Date begin=new Date();
 
-        List<Map<String, Object>> map = wtInfoPushService.genreSetMap("SBQ_FDC");
+        Map<String, Object> map = wtInfoPushService.genreSetMap();
 
 
         Date end=new Date();
@@ -40,6 +39,16 @@ public class WtInfoPushServiceTest {
          System.out.println(map.size());
 
 
+//        Date begin=new Date();
+//
+//        List<Map<String, Object>> map = wtInfoPushService.findWtInfoList("MHS_FDC");
+//
+//
+//        Date end=new Date();
+//        System.out.println((end.getTime()-begin.getTime())/1000);
+//        System.out.println(map.size());
+
+
 
 //        AjaxResult ar = singleAnalysisController.singleanalysisSub(wtId,year,month);
 //