瀏覽代碼

首页数据展示功能修改

shilin 4 年之前
父節點
當前提交
84bc02889d
共有 49 個文件被更改,包括 2998 次插入2124 次删除
  1. 8 8
      pom.xml
  2. 0 2
      src/main/java/com/gyee/frame/common/quartz/task/BraceletPushTask.java
  3. 1 1
      src/main/java/com/gyee/frame/common/quartz/task/Targetdetail_curve.java
  4. 1 1
      src/main/java/com/gyee/frame/common/quartz/task/Targetdetail_histogram.java
  5. 19 3
      src/main/java/com/gyee/frame/common/spring/InitialRunner.java
  6. 22 12
      src/main/java/com/gyee/frame/controller/app/TargetDetail/TargetdetailController.java
  7. 0 23
      src/main/java/com/gyee/frame/controller/app/bracelet/BraceletController.java
  8. 0 123
      src/main/java/com/gyee/frame/controller/gen/ShbraceletpointController.java
  9. 22 0
      src/main/java/com/gyee/frame/mapper/auto/ShbraceletMapper.java
  10. 0 39
      src/main/java/com/gyee/frame/mapper/auto/ShbraceletpointMapper.java
  11. 31 0
      src/main/java/com/gyee/frame/mapper/auto/ShbraceletpointkeyMapper.java
  12. 34 0
      src/main/java/com/gyee/frame/mapper/auto/ShbraceletuserMapper.java
  13. 20 0
      src/main/java/com/gyee/frame/mapper/auto/ShbruserMapper.java
  14. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WindturbinepowercurvefittingMapper.java
  15. 57 0
      src/main/java/com/gyee/frame/model/auto/Shbracelet.java
  16. 0 144
      src/main/java/com/gyee/frame/model/auto/Shbraceletpoint.java
  17. 0 777
      src/main/java/com/gyee/frame/model/auto/ShbraceletpointExample.java
  18. 49 0
      src/main/java/com/gyee/frame/model/auto/Shbraceletpointkey.java
  19. 49 0
      src/main/java/com/gyee/frame/model/auto/Shbraceletuser.java
  20. 76 0
      src/main/java/com/gyee/frame/model/auto/Shbruser.java
  21. 245 0
      src/main/java/com/gyee/frame/model/auto/Windturbinepowercurvefitting.java
  22. 753 0
      src/main/java/com/gyee/frame/model/auto/WindturbinepowercurvefittingExample.java
  23. 27 0
      src/main/java/com/gyee/frame/model/custom/BraceletUsringVo.java
  24. 5 3
      src/main/java/com/gyee/frame/netty/websocket/WebSocketServer.java
  25. 2 3
      src/main/java/com/gyee/frame/netty/websocket/config/ConfigDetail.txt
  26. 115 0
      src/main/java/com/gyee/frame/service/ForecastPowerService.java
  27. 0 150
      src/main/java/com/gyee/frame/service/ShbraceletpointService.java
  28. 16 0
      src/main/java/com/gyee/frame/service/WeatherfhService.java
  29. 115 0
      src/main/java/com/gyee/frame/service/WindturbinepowercurvefittingService.java
  30. 63 87
      src/main/java/com/gyee/frame/service/app/bracelet/BraceletService.java
  31. 26 0
      src/main/java/com/gyee/frame/service/app/bracelet/IShbraceletpointkeyService.java
  32. 29 0
      src/main/java/com/gyee/frame/service/app/bracelet/IShbraceletuserService.java
  33. 37 0
      src/main/java/com/gyee/frame/service/app/bracelet/RestfulClientService.java
  34. 99 0
      src/main/java/com/gyee/frame/service/app/bracelet/impl/RestfulClientServiceImpl.java
  35. 43 0
      src/main/java/com/gyee/frame/service/app/bracelet/impl/ShbraceletpointkeyServiceImpl.java
  36. 49 0
      src/main/java/com/gyee/frame/service/app/bracelet/impl/ShbraceletuserServiceImpl.java
  37. 129 8
      src/main/java/com/gyee/frame/service/app/index/FocastpowerService.java
  38. 5 251
      src/main/java/com/gyee/frame/service/app/index/IndexService.java
  39. 190 127
      src/main/java/com/gyee/frame/service/app/targetdetail/TargetdetailService.java
  40. 8 14
      src/main/java/com/gyee/frame/service/app/windpowerstationdetail/WindpowerstationdetailService.java
  41. 33 23
      src/main/java/com/gyee/frame/service/app/windpowerstationdetail/Windspeedpowermodule.java
  42. 93 0
      src/main/java/com/gyee/frame/util/ResponseWrapper.java
  43. 9 9
      src/main/resources/mybatis-generator.xml
  44. 14 0
      src/main/resources/mybatis/auto/ShbraceletMapper.xml
  45. 0 316
      src/main/resources/mybatis/auto/ShbraceletpointMapper.xml
  46. 30 0
      src/main/resources/mybatis/auto/ShbraceletpointkeyMapper.xml
  47. 63 0
      src/main/resources/mybatis/auto/ShbraceletuserMapper.xml
  48. 12 0
      src/main/resources/mybatis/auto/ShbruserMapper.xml
  49. 303 0
      src/main/resources/mybatis/auto/WindturbinepowercurvefittingMapper.xml

+ 8 - 8
pom.xml

@@ -408,16 +408,16 @@
 <!--						<artifactId>mysql-connector-java</artifactId>-->
 <!--						<version>${mysql.version}</version>-->
 <!--					</dependency>-->
-					<dependency>
-						<groupId>com.microsoft.sqlserver</groupId>
-						<artifactId>sqljdbc4</artifactId>
-						<version>4.0</version>
-					</dependency>
 <!--					<dependency>-->
-<!--						<groupId>com.oracle</groupId>-->
-<!--						<artifactId>ojdbc6</artifactId>-->
-<!--						<version>11.2.0.3</version>-->
+<!--						<groupId>com.microsoft.sqlserver</groupId>-->
+<!--						<artifactId>sqljdbc4</artifactId>-->
+<!--						<version>4.0</version>-->
 <!--					</dependency>-->
+					<dependency>
+						<groupId>com.oracle</groupId>
+						<artifactId>ojdbc6</artifactId>
+						<version>11.2.0.3</version>
+					</dependency>
 				</dependencies>
 			</plugin>
 			<plugin>

+ 0 - 2
src/main/java/com/gyee/frame/common/quartz/task/BraceletPushTask.java

@@ -4,8 +4,6 @@ import com.gyee.frame.service.app.bracelet.BraceletService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.Date;
-
 @Component("braceletPushTask")
 public class BraceletPushTask {
     @Autowired

+ 1 - 1
src/main/java/com/gyee/frame/common/quartz/task/Targetdetail_curve.java

@@ -21,7 +21,7 @@ public class Targetdetail_curve {
      * 无参的任务
      */
     public void targetdetail_curve() throws Exception {
-        targetdetailService.targetdetail_curve();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
+     //   targetdetailService.targetdetail_curve();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
         ////System.out.println("我已执行");
     }
 

+ 1 - 1
src/main/java/com/gyee/frame/common/quartz/task/Targetdetail_histogram.java

@@ -21,7 +21,7 @@ public class Targetdetail_histogram {
      * 无参的任务
      */
     public void targetdetail_histogram() throws Exception {
-        targetdetailService.targetdetail_histogram();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
+       // targetdetailService.targetdetail_histogram();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
         ////System.out.println("我已执行");
     }
 

+ 19 - 3
src/main/java/com/gyee/frame/common/spring/InitialRunner.java

@@ -36,6 +36,8 @@ public class InitialRunner implements CommandLineRunner {
     private WindTurbineTestingPointAiService windTurbineTestingPointAiService;
     @Resource
     private WindTurbineTestingPointDiService windTurbineTestingPointDiService;
+    @Resource
+    private WindturbinepowercurvefittingService windturbinepowercurvefittingService;
     //RMConfig
 
     public static Map<String, RMConfig> rmcmap = new HashMap<String, RMConfig>();
@@ -53,7 +55,7 @@ public class InitialRunner implements CommandLineRunner {
     public static Map<String, Map<String, WindTurbineTestingPointAi2>> wtpAimap = new HashMap<String, Map<String, WindTurbineTestingPointAi2>>();// 风电机测点AI表
     public static Map<String, Map<String, WindPowerStationTestingPoint2>> stationPointmap = new HashMap<String, Map<String, WindPowerStationTestingPoint2>>();//场站测点
     public static Map<String, CopyOnWriteArraySet<String>> keyidMap = new HashMap<String, CopyOnWriteArraySet<String>>();
-
+    public static Map<String, Map<Double, Windturbinepowercurvefitting>> wpcmap = new HashMap<String, Map<Double, Windturbinepowercurvefitting>>();
     @Override
     public void run(String... args) throws Exception {
         //System.out.println(">>>>>>>>>>>>>>>服务启动执行,换成测点关联数据 <<<<<<<<<<<<<");
@@ -95,8 +97,22 @@ public class InitialRunner implements CommandLineRunner {
         wtls= windturbineService.selectByExample(windturbineExample);
 
 
-
-
+//        WindturbinepowercurvefittingExample windturbinepowercurvefittingExample=new WindturbinepowercurvefittingExample();
+//        windturbinepowercurvefittingExample.setOrderByClause("ordernum ASC");
+//        List<Windturbinepowercurvefitting> wpclist= windturbinepowercurvefittingService.selectByExample(windturbinepowercurvefittingExample);
+//
+//        if (!wpclist.isEmpty()) {
+//            for (Windturbinepowercurvefitting wc : wpclist) {
+//                if (wpcmap.containsKey(wc.getWindturbineid())) {
+//                    Map<Double, Windturbinepowercurvefitting> map = wpcmap.get(wc.getWindturbineid());
+//                    map.put(wc.getSpeed(), wc);
+//                } else {
+//                    Map<Double, Windturbinepowercurvefitting> map = new HashMap<Double, Windturbinepowercurvefitting>();
+//                    map.put(wc.getSpeed(), wc);
+//                    wpcmap.put(wc.getWindturbineid(), map);
+//                }
+//            }
+//        }
 
 
         if(wtls!=null && !wtls.isEmpty()){

+ 22 - 12
src/main/java/com/gyee/frame/controller/app/TargetDetail/TargetdetailController.java

@@ -1,7 +1,9 @@
 package com.gyee.frame.controller.app.TargetDetail;
 
+import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.netty.websocket.util.SocketToolController;
 import com.gyee.frame.service.app.targetdetail.TargetdetailService;
+import com.gyee.frame.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Service;
@@ -9,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -34,22 +38,28 @@ public class TargetdetailController extends SocketToolController {
 
     @ResponseBody
     @RequestMapping("/targetdetail_curve")
-    public String targetdetail_curve(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
-        String remoteAddr = httpServletRequest.getRemoteAddr();
-        Map<String, String> pointMap = TargetdetailService.targetdetail_curve_pointMap;
-        pointMap.put(remoteAddr,pointKey);
-        TargetdetailService.targetdetail_curve_pointMap = pointMap;
-        return remoteAddr;
+    public List<PointData> targetdetail_curve(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+
+        List<PointData> vos =new ArrayList<>();
+        if(StringUtils.isNotEmpty(pointKey))
+        {
+            vos = targetdetailService.targetdetail_curve(pointKey);
+        }
+        return vos;
     }
 
     @ResponseBody
     @RequestMapping("/targetdetail_histogram")
-    public String targetdetail_histogram(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
-        String remoteAddr = httpServletRequest.getRemoteAddr();
-        Map<String, String> pointMap = TargetdetailService.targetdetail_histogram_pointMap;
-        pointMap.put(remoteAddr,pointKey);
-        TargetdetailService.targetdetail_histogram_pointMap = pointMap;
-        return remoteAddr;
+    public List<PointData> targetdetail_histogram(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+
+        List<PointData> vos =new ArrayList<>();
+        if(StringUtils.isNotEmpty(pointKey))
+        {
+            vos = targetdetailService.targetdetail_histogram(pointKey);
+        }
+
+
+        return vos;
     }
 
 

+ 0 - 23
src/main/java/com/gyee/frame/controller/app/bracelet/BraceletController.java

@@ -15,28 +15,5 @@ import java.util.Map;
 @Controller
 @RequestMapping("/bracelet")
 public class BraceletController extends SocketToolController {
-    @Autowired
-    private BraceletService braceletService;
-    @ResponseBody
-    @RequestMapping("/bracelet")
-    public String bracelet(HttpServletRequest httpServletRequest, String beginDate, String endDate) throws Exception {
-        String remoteAddr = httpServletRequest.getRemoteAddr();
-        Map<String, List<String>> pointMap = BraceletService.bracelet_pointMap;
-        List<String> list = new ArrayList<>();
-        list.add(beginDate);
-        list.add(endDate);
-        pointMap.put(remoteAddr,list);
-        BraceletService.bracelet_pointMap = pointMap;
-        return remoteAddr;
-    }
 
-    @ResponseBody
-    @RequestMapping("/close_bracelet")
-    public String close_bracelet(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
-        String remoteAddr = httpServletRequest.getRemoteAddr();
-        Map<String, List<String>> pointMap = BraceletService.bracelet_pointMap;
-        pointMap.remove(remoteAddr);
-        BraceletService.bracelet_pointMap = pointMap;
-        return remoteAddr;
-    }
 }

+ 0 - 123
src/main/java/com/gyee/frame/controller/gen/ShbraceletpointController.java

@@ -12,11 +12,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import com.github.pagehelper.PageInfo;
 import com.gyee.frame.common.base.BaseController;
 import com.gyee.frame.common.domain.AjaxResult;
-import com.gyee.frame.model.auto.Shbraceletpoint;
 import com.gyee.frame.model.custom.TableSplitResult;
 import com.gyee.frame.model.custom.Tablepar;
 import com.gyee.frame.model.custom.TitleVo;
-import com.gyee.frame.service.ShbraceletpointService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -24,128 +22,7 @@ import io.swagger.annotations.ApiOperation;
 @RequestMapping("ShbraceletpointController")
 @Api(value = "")
 public class ShbraceletpointController extends BaseController{
-	
-	private String prefix = "gen/shbraceletpoint";
-	@Autowired
-	private ShbraceletpointService shbraceletpointService;
-	
-	@GetMapping("view")
-	@RequiresPermissions("gen:shbraceletpoint:view")
-    public String view(ModelMap model)
-    {	
-		String str="";
-		setTitle(model, new TitleVo("列表", str+"管理", true,"欢迎进入"+str+"页面", true, false));
-        return prefix + "/list";
-    }
-	
-	//@Log(title = "集合查询", action = "111")
-	@PostMapping("list")
-	@RequiresPermissions("gen:shbraceletpoint:list")
-	@ResponseBody
-	public Object list(Tablepar tablepar,String searchText){
-		PageInfo<Shbraceletpoint> page=shbraceletpointService.list(tablepar,searchText) ; 
-		TableSplitResult<Shbraceletpoint> result=new TableSplitResult<Shbraceletpoint>(page.getPageNum(), page.getTotal(), page.getList()); 
-		return  result;
-	}
-	
-	/**
-     * 新增
-     */
-
-    @GetMapping("/add")
-    public String add(ModelMap modelMap)
-    {
-        return prefix + "/add";
-    }
-	
-	//@Log(title = "新增", action = "111")
-	@PostMapping("add")
-	@RequiresPermissions("gen:shbraceletpoint:add")
-	@ResponseBody
-	public AjaxResult add(Shbraceletpoint shbraceletpoint){
-		int b=shbraceletpointService.insertSelective(shbraceletpoint);
-		if(b>0){
-			return success();
-		}else{
-			return error();
-		}
-	}
-	
-	/**
-	 * 删除用户
-	 * @param ids
-	 * @return
-	 */
-	//@Log(title = "删除", action = "111")
-	@PostMapping("remove")
-	@RequiresPermissions("gen:shbraceletpoint:remove")
-	@ResponseBody
-	public AjaxResult remove(String ids){
-		int b=shbraceletpointService.deleteByPrimaryKey(ids);
-		if(b>0){
-			return success();
-		}else{
-			return error();
-		}
-	}
-	
-	/**
-	 * 检查用户
-
-	 * @return
-	 */
-	@PostMapping("checkNameUnique")
-	@ResponseBody
-	public int checkNameUnique(Shbraceletpoint shbraceletpoint){
-		int b=shbraceletpointService.checkNameUnique(shbraceletpoint);
-		if(b>0){
-			return 1;
-		}else{
-			return 0;
-		}
-	}
-	
-	
-	/**
-	 * 修改跳转
-	 * @param id
-	 * @param mmap
-	 * @return
-	 */
-	@GetMapping("/edit/{id}")
-    public String edit(@PathVariable("id") String id, ModelMap mmap)
-    {
-        mmap.put("Shbraceletpoint", shbraceletpointService.selectByPrimaryKey(id));
-
-        return prefix + "/edit";
-    }
-	
-	/**
-     * 修改保存
-     */
-    //@Log(title = "修改", action = "111")
-    @RequiresPermissions("gen:shbraceletpoint:edit")
-    @PostMapping("/edit")
-    @ResponseBody
-    public AjaxResult editSave(Shbraceletpoint record)
-    {
-        return toAjax(shbraceletpointService.updateByPrimaryKeySelective(record));
-    }
-
-    
-    /**
-   	 * 根据主键查询
-   	 * 
-   	 * @param id
 
-   	 * @return
-   	 */
-   	@PostMapping("/get/{id}")
-   	@ApiOperation(value = "根据id查询唯一", notes = "根据id查询唯一")
-   	public Shbraceletpoint edit(@PathVariable("id") String id) {
-   		return shbraceletpointService.selectByPrimaryKey(id);
-   	}
-    
 
 	
 }

+ 22 - 0
src/main/java/com/gyee/frame/mapper/auto/ShbraceletMapper.java

@@ -0,0 +1,22 @@
+package com.gyee.frame.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.frame.model.auto.Shbracelet;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 手环配置表 Mapper 接口
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+@Mapper
+public interface ShbraceletMapper extends BaseMapper<Shbracelet> {
+
+    Integer saveShbracelet(Shbracelet shbracelet);
+
+    Shbracelet selectShbraceletNotUringOne();
+
+}

+ 0 - 39
src/main/java/com/gyee/frame/mapper/auto/ShbraceletpointMapper.java

@@ -1,39 +0,0 @@
-package com.gyee.frame.mapper.auto;
-
-import com.gyee.frame.model.auto.Shbraceletpoint;
-import com.gyee.frame.model.auto.ShbraceletpointExample;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- *  ShbraceletpointMapper
- * @author gyee_自动生成
- * @email 1@qq.com
- * @date 2020-05-20 19:07:48
- */
-public interface ShbraceletpointMapper {
-      	   	      	      	      	      	      	      	      	      
-    long countByExample(ShbraceletpointExample example);
-
-    int deleteByExample(ShbraceletpointExample example);
-		
-    int deleteByPrimaryKey(String id);
-		
-    int insert(Shbraceletpoint record);
-
-    int insertSelective(Shbraceletpoint record);
-
-    List<Shbraceletpoint> selectByExample(ShbraceletpointExample example);
-		
-    Shbraceletpoint selectByPrimaryKey(String id);
-		
-    int updateByExampleSelective(@Param("record") Shbraceletpoint record, @Param("example") ShbraceletpointExample example);
-
-    int updateByExample(@Param("record") Shbraceletpoint record, @Param("example") ShbraceletpointExample example);
-		
-    int updateByPrimaryKeySelective(Shbraceletpoint record);
-
-    int updateByPrimaryKey(Shbraceletpoint record);
-  	  	
-}

+ 31 - 0
src/main/java/com/gyee/frame/mapper/auto/ShbraceletpointkeyMapper.java

@@ -0,0 +1,31 @@
+package com.gyee.frame.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.gyee.frame.model.auto.Shbraceletpointkey;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 手环点测表 Mapper 接口
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+@Mapper
+public interface ShbraceletpointkeyMapper extends BaseMapper<Shbraceletpointkey> {
+
+    Integer saveShbraceletpointkey(Shbraceletpointkey shbraceletpointkey);
+
+
+    List<Shbraceletpointkey> selectPointkeyByUserId(@Param("userid") long userid);
+
+    List<Shbraceletpointkey> selectPointkeyByDeviceid(@Param("deviceid") long deviceid);
+
+
+
+}

+ 34 - 0
src/main/java/com/gyee/frame/mapper/auto/ShbraceletuserMapper.java

@@ -0,0 +1,34 @@
+package com.gyee.frame.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import com.gyee.frame.model.auto.Shbraceletuser;
+import com.gyee.frame.model.custom.BraceletUsringVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 手环使用记录表 Mapper 接口
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+@Mapper
+public interface ShbraceletuserMapper extends BaseMapper<Shbraceletuser> {
+
+    Integer saveShbraceletuser(Shbraceletuser shbraceletuser);
+
+    List<BraceletUsringVo> selectRaceletuserUsring(@Param("userid") long userid, @Param("deviceid") long deviceid, @Param("stationid") String stationid);
+
+    IPage<BraceletUsringVo> selectPageRaceletuser(Page page, @Param("userid") long userid, @Param("deviceid") long deviceid, @Param("stationid") String stationid);
+
+
+    List<BraceletUsringVo> selectRaceletuserUserList();
+
+}

+ 20 - 0
src/main/java/com/gyee/frame/mapper/auto/ShbruserMapper.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.frame.model.auto.Shbruser;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 手环用户表 Mapper 接口
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+@Mapper
+public interface ShbruserMapper extends BaseMapper<Shbruser> {
+
+    Integer saveShbruser(Shbruser shbruser);
+
+}

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

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

+ 57 - 0
src/main/java/com/gyee/frame/model/auto/Shbracelet.java

@@ -0,0 +1,57 @@
+package com.gyee.frame.model.auto;
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+* <p>
+*  手环表
+* </p>
+*
+* @author try
+* @since 2019-05-15
+*/
+@Data
+@TableName("SHBRACELET")
+@KeySequence("NXFD_SEQ_SHBRACELET")
+public class Shbracelet implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @TableId("ID")
+    private Long id;
+
+    /**
+     * 设备编号
+     */
+    @TableField("DEVICENO")
+    private String deviceno;
+    /**
+    * 设备名字
+    */
+    @TableField("DEVICENAME")
+    private String devicename;
+
+    /**
+    * 是否绑定 0 未绑定 1  绑定
+    */
+    @TableField("USRING")
+    private int usring;
+
+    /**
+    * 更新时间
+    */
+    @TableField("UPDATATIME")
+    private Date updatatime;
+
+
+}

+ 0 - 144
src/main/java/com/gyee/frame/model/auto/Shbraceletpoint.java

@@ -1,144 +0,0 @@
-package com.gyee.frame.model.auto;
-
-import java.io.Serializable;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.lang.Long;
-
-/**
- *  Shbraceletpoint 
- * @author gyee_自动生成
- * @email 1@qq.com
- * @date 2020-05-20 19:07:48
- */
- @ApiModel(value="Shbraceletpoint", description="")
-public class Shbraceletpoint implements Serializable {
-
-	private static final long serialVersionUID = 1L;
-	
-		
-	/**  **/
-	@ApiModelProperty(value = "")
-private String id;
-		
-	/**  **/
-    @ApiModelProperty(name = "'key'",required=true)
-private String key;
-		
-	/**  **/
-	@ApiModelProperty(value = "") 
-private String value;
-		
-	/**  **/
-	@ApiModelProperty(value = "") 
-private Long ts;
-		
-	/**  **/
-	@ApiModelProperty(value = "") 
-private String status;
-		
-	/**  **/
-	@ApiModelProperty(value = "") 
-private String type;
-		
-	/**  **/
-	@ApiModelProperty(value = "") 
-private String time;
-		
-	/**  **/
-    @ApiModelProperty(name = "'describe'",required=true)
-private String describe;
-		
-		
-	public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-	 
-			
-	public String getKey() {
-        return key;
-    }
-
-    public void setKey(String key) {
-        this.key = key;
-    }
-	 
-			
-	public String getValue() {
-        return value;
-    }
-
-    public void setValue(String value) {
-        this.value = value;
-    }
-	 
-			
-	public Long getTs() {
-        return ts;
-    }
-
-    public void setTs(Long ts) {
-        this.ts = ts;
-    }
-	 
-			
-	public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-	 
-			
-	public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-	 
-			
-	public String getTime() {
-        return time;
-    }
-
-    public void setTime(String time) {
-        this.time = time;
-    }
-	 
-			
-	public String getDescribe() {
-        return describe;
-    }
-
-    public void setDescribe(String describe) {
-        this.describe = describe;
-    }
-	 
-			
-	public Shbraceletpoint() {
-        super();
-    }
-    
-																																										
-	public Shbraceletpoint(String id,String key,String value,Long ts,String status,String type,String time,String describe) {
-	
-		this.id = id;
-		this.key = key;
-		this.value = value;
-		this.ts = ts;
-		this.status = status;
-		this.type = type;
-		this.time = time;
-		this.describe = describe;
-		
-	}
-	
-}

+ 0 - 777
src/main/java/com/gyee/frame/model/auto/ShbraceletpointExample.java

@@ -1,777 +0,0 @@
-package com.gyee.frame.model.auto;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-/**
- *  ShbraceletpointExample
- * @author gyee_自动生成
- * @email 1@qq.com
- * @date 2020-05-20 19:07:48
- */
-public class ShbraceletpointExample {
-
-    protected String orderByClause;
-
-    protected boolean distinct;
-
-    protected List<Criteria> oredCriteria;
-
-    public ShbraceletpointExample() {
-        oredCriteria = new ArrayList<Criteria>();
-    }
-
-    public void setOrderByClause(String orderByClause) {
-        this.orderByClause = orderByClause;
-    }
-
-    public String getOrderByClause() {
-        return orderByClause;
-    }
-
-    public void setDistinct(boolean distinct) {
-        this.distinct = distinct;
-    }
-
-    public boolean isDistinct() {
-        return distinct;
-    }
-
-    public List<Criteria> getOredCriteria() {
-        return oredCriteria;
-    }
-
-    public void or(Criteria criteria) {
-        oredCriteria.add(criteria);
-    }
-
-    public Criteria or() {
-        Criteria criteria = createCriteriaInternal();
-        oredCriteria.add(criteria);
-        return criteria;
-    }
-
-    public Criteria createCriteria() {
-        Criteria criteria = createCriteriaInternal();
-        if (oredCriteria.size() == 0) {
-            oredCriteria.add(criteria);
-        }
-        return criteria;
-    }
-
-    protected Criteria createCriteriaInternal() {
-        Criteria criteria = new Criteria();
-        return criteria;
-    }
-
-    public void clear() {
-        oredCriteria.clear();
-        orderByClause = null;
-        distinct = false;
-    }
-
-    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 andKeyIsNull() {
-            addCriterion("key is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyIsNotNull() {
-            addCriterion("key is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyEqualTo(String value) {
-            addCriterion("key =", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyNotEqualTo(String value) {
-            addCriterion("key <>", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyGreaterThan(String value) {
-            addCriterion("key >", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyGreaterThanOrEqualTo(String value) {
-            addCriterion("key >=", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyLessThan(String value) {
-            addCriterion("key <", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyLessThanOrEqualTo(String value) {
-            addCriterion("key <=", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyLike(String value) {
-            addCriterion("key like", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyNotLike(String value) {
-            addCriterion("key not like", value, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyIn(List<String> values) {
-            addCriterion("key in", values, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyNotIn(List<String> values) {
-            addCriterion("key not in", values, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyBetween(String value1, String value2) {
-            addCriterion("key between", value1, value2, "key");
-            return (Criteria) this;
-        }
-
-        public Criteria andKeyNotBetween(String value1, String value2) {
-            addCriterion("key not between", value1, value2, "key");
-            return (Criteria) this;
-        }
-        
-			
-        public Criteria andValueIsNull() {
-            addCriterion("value is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueIsNotNull() {
-            addCriterion("value is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueEqualTo(String value) {
-            addCriterion("value =", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueNotEqualTo(String value) {
-            addCriterion("value <>", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueGreaterThan(String value) {
-            addCriterion("value >", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueGreaterThanOrEqualTo(String value) {
-            addCriterion("value >=", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueLessThan(String value) {
-            addCriterion("value <", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueLessThanOrEqualTo(String value) {
-            addCriterion("value <=", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueLike(String value) {
-            addCriterion("value like", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueNotLike(String value) {
-            addCriterion("value not like", value, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueIn(List<String> values) {
-            addCriterion("value in", values, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueNotIn(List<String> values) {
-            addCriterion("value not in", values, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueBetween(String value1, String value2) {
-            addCriterion("value between", value1, value2, "value");
-            return (Criteria) this;
-        }
-
-        public Criteria andValueNotBetween(String value1, String value2) {
-            addCriterion("value not between", value1, value2, "value");
-            return (Criteria) this;
-        }
-        
-			
-        public Criteria andTsIsNull() {
-            addCriterion("ts is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsIsNotNull() {
-            addCriterion("ts is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsEqualTo(Long value) {
-            addCriterion("ts =", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsNotEqualTo(Long value) {
-            addCriterion("ts <>", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsGreaterThan(Long value) {
-            addCriterion("ts >", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsGreaterThanOrEqualTo(Long value) {
-            addCriterion("ts >=", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsLessThan(Long value) {
-            addCriterion("ts <", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsLessThanOrEqualTo(Long value) {
-            addCriterion("ts <=", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsLike(Long value) {
-            addCriterion("ts like", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsNotLike(Long value) {
-            addCriterion("ts not like", value, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsIn(List<Long> values) {
-            addCriterion("ts in", values, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsNotIn(List<Long> values) {
-            addCriterion("ts not in", values, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsBetween(Long value1, Long value2) {
-            addCriterion("ts between", value1, value2, "ts");
-            return (Criteria) this;
-        }
-
-        public Criteria andTsNotBetween(Long value1, Long value2) {
-            addCriterion("ts not between", value1, value2, "ts");
-            return (Criteria) this;
-        }
-        
-			
-        public Criteria andStatusIsNull() {
-            addCriterion("status is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusIsNotNull() {
-            addCriterion("status is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusEqualTo(String value) {
-            addCriterion("status =", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusNotEqualTo(String value) {
-            addCriterion("status <>", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusGreaterThan(String value) {
-            addCriterion("status >", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusGreaterThanOrEqualTo(String value) {
-            addCriterion("status >=", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusLessThan(String value) {
-            addCriterion("status <", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusLessThanOrEqualTo(String value) {
-            addCriterion("status <=", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusLike(String value) {
-            addCriterion("status like", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusNotLike(String value) {
-            addCriterion("status not like", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusIn(List<String> values) {
-            addCriterion("status in", values, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusNotIn(List<String> values) {
-            addCriterion("status not in", values, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusBetween(String value1, String value2) {
-            addCriterion("status between", value1, value2, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusNotBetween(String value1, String value2) {
-            addCriterion("status not between", value1, value2, "status");
-            return (Criteria) this;
-        }
-        
-			
-        public Criteria andTypeIsNull() {
-            addCriterion("type is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeIsNotNull() {
-            addCriterion("type is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeEqualTo(String value) {
-            addCriterion("type =", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeNotEqualTo(String value) {
-            addCriterion("type <>", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeGreaterThan(String value) {
-            addCriterion("type >", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeGreaterThanOrEqualTo(String value) {
-            addCriterion("type >=", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeLessThan(String value) {
-            addCriterion("type <", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeLessThanOrEqualTo(String value) {
-            addCriterion("type <=", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeLike(String value) {
-            addCriterion("type like", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeNotLike(String value) {
-            addCriterion("type not like", value, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeIn(List<String> values) {
-            addCriterion("type in", values, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeNotIn(List<String> values) {
-            addCriterion("type not in", values, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeBetween(String value1, String value2) {
-            addCriterion("type between", value1, value2, "type");
-            return (Criteria) this;
-        }
-
-        public Criteria andTypeNotBetween(String value1, String value2) {
-            addCriterion("type not between", value1, value2, "type");
-            return (Criteria) this;
-        }
-        
-			
-        public Criteria andTimeIsNull() {
-            addCriterion("time is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeIsNotNull() {
-            addCriterion("time is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeEqualTo(String value) {
-            addCriterion("time =", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeNotEqualTo(String value) {
-            addCriterion("time <>", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeGreaterThan(String value) {
-            addCriterion("time >", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeGreaterThanOrEqualTo(String value) {
-            addCriterion("time >=", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeLessThan(String value) {
-            addCriterion("time <", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeLessThanOrEqualTo(String value) {
-            addCriterion("time <=", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeLike(String value) {
-            addCriterion("time like", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeNotLike(String value) {
-            addCriterion("time not like", value, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeIn(List<String> values) {
-            addCriterion("time in", values, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeNotIn(List<String> values) {
-            addCriterion("time not in", values, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeBetween(String value1, String value2) {
-            addCriterion("time between", value1, value2, "time");
-            return (Criteria) this;
-        }
-
-        public Criteria andTimeNotBetween(String value1, String value2) {
-            addCriterion("time not between", value1, value2, "time");
-            return (Criteria) this;
-        }
-        
-			
-        public Criteria andDescribeIsNull() {
-            addCriterion("describe is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeIsNotNull() {
-            addCriterion("describe is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeEqualTo(String value) {
-            addCriterion("describe =", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeNotEqualTo(String value) {
-            addCriterion("describe <>", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeGreaterThan(String value) {
-            addCriterion("describe >", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeGreaterThanOrEqualTo(String value) {
-            addCriterion("describe >=", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeLessThan(String value) {
-            addCriterion("describe <", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeLessThanOrEqualTo(String value) {
-            addCriterion("describe <=", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeLike(String value) {
-            addCriterion("describe like", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeNotLike(String value) {
-            addCriterion("describe not like", value, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeIn(List<String> values) {
-            addCriterion("describe in", values, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeNotIn(List<String> values) {
-            addCriterion("describe not in", values, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeBetween(String value1, String value2) {
-            addCriterion("describe between", value1, value2, "describe");
-            return (Criteria) this;
-        }
-
-        public Criteria andDescribeNotBetween(String value1, String value2) {
-            addCriterion("describe not between", value1, value2, "describe");
-            return (Criteria) this;
-        }
-        
-	}
-
-    public static class Criteria extends GeneratedCriteria {
-
-        protected Criteria() {
-            super();
-        }
-    }
-
-    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);
-        }
-    }
-}

+ 49 - 0
src/main/java/com/gyee/frame/model/auto/Shbraceletpointkey.java

@@ -0,0 +1,49 @@
+package com.gyee.frame.model.auto;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+* <p>
+*  手环测点配置
+* </p>
+*
+* @author try
+* @since 2019-05-15
+*/
+@Data
+@TableName("SHBRACELETPOINTKEY")
+@KeySequence("NXFD_SEQ_SHBRACELETPOINTKEY")
+public class Shbraceletpointkey implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @TableId(value = "ID", type = IdType.INPUT)
+    private Long id;
+
+    /**
+    * 测点
+    */
+    @TableField("POINTKEY")
+    private String pointkey;
+
+    /**
+    * 设备id
+    */
+    @TableField("DEVICEID")
+    private Long deviceid;
+
+    /**
+    * 创建时间
+    */
+    @TableField("CREATETIME")
+    private Date createtime;
+
+
+}

+ 49 - 0
src/main/java/com/gyee/frame/model/auto/Shbraceletuser.java

@@ -0,0 +1,49 @@
+package com.gyee.frame.model.auto;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+* <p>
+*  手环使用表
+* </p>
+*
+* @author try
+* @since 2019-05-15
+*/
+@Data
+@TableName("SHBRACELETUSER")
+@KeySequence("NXFD_SEQ_SHBRACELETUSER")
+public class Shbraceletuser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键
+    */
+    @TableId(value = "ID", type = IdType.INPUT)
+    private Long id;
+
+    /**
+    * 设备ID
+    */
+    @TableField("DEVICEID")
+    private Long deviceid;
+
+    /**
+    * 用户Id
+    */
+    @TableField("USERID")
+    private Long userid;
+
+    /**
+    * 创建时间
+    */
+    @TableField("CREATETIME")
+    private Date createtime;
+
+
+}

+ 76 - 0
src/main/java/com/gyee/frame/model/auto/Shbruser.java

@@ -0,0 +1,76 @@
+package com.gyee.frame.model.auto;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+* <p>
+* 手环用户表
+* </p>
+*
+* @author try
+* @since 2019-05-15
+*/
+@Data
+@Accessors(chain = true)
+@JsonAutoDetect
+@JsonIgnoreProperties(ignoreUnknown = true)
+@TableName("SHBRUSER")
+@KeySequence("NXFD_SEQ_SHBRUSER")
+public class Shbruser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+    /**
+    * 主键
+    */
+    @TableId(value = "ID", type = IdType.INPUT)
+    private Long id;
+
+    /**
+    * 用户名
+    */
+    @TableField("USERNAME")
+    private String username;
+
+    /**
+    * 手机号
+    */
+    @TableField("MOBILE")
+    private String mobile;
+
+    /**
+    * 密码
+    */
+    @TableField("PASSWORD")
+    private String password;
+
+    /**
+    * 盐值
+    */
+    @TableField("SALT")
+    private String salt;
+
+    /**
+    * 头像
+    */
+    @TableField("IMG")
+    private String img;
+    /**
+     * 头像
+     */
+    @TableField("STATIONID")
+    private String stationid;
+    /**
+    * 创建时间
+    */
+    @TableField("CREATETIME")
+    private Date createtime;
+
+
+}

+ 245 - 0
src/main/java/com/gyee/frame/model/auto/Windturbinepowercurvefitting.java

@@ -0,0 +1,245 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+
+public class Windturbinepowercurvefitting implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINEPOWERCURVEFITTING.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINEPOWERCURVEFITTING.WINDTURBINEID
+     *
+     * @mbg.generated
+     */
+    private String windturbineid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINEPOWERCURVEFITTING.SPEED
+     *
+     * @mbg.generated
+     */
+    private Double speed;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINEPOWERCURVEFITTING.ACTUALPOWER
+     *
+     * @mbg.generated
+     */
+    private Double actualpower;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINEPOWERCURVEFITTING.OPTIMALPOWER
+     *
+     * @mbg.generated
+     */
+    private Double optimalpower;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINEPOWERCURVEFITTING.MAINID
+     *
+     * @mbg.generated
+     */
+    private String mainid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINEPOWERCURVEFITTING.OPTMALPOWER
+     *
+     * @mbg.generated
+     */
+    private Double optmalpower;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINEPOWERCURVEFITTING.ID
+     *
+     * @return the value of WINDTURBINEPOWERCURVEFITTING.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINEPOWERCURVEFITTING.ID
+     *
+     * @param id the value for WINDTURBINEPOWERCURVEFITTING.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 WINDTURBINEPOWERCURVEFITTING.WINDTURBINEID
+     *
+     * @return the value of WINDTURBINEPOWERCURVEFITTING.WINDTURBINEID
+     *
+     * @mbg.generated
+     */
+    public String getWindturbineid() {
+        return windturbineid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINEPOWERCURVEFITTING.WINDTURBINEID
+     *
+     * @param windturbineid the value for WINDTURBINEPOWERCURVEFITTING.WINDTURBINEID
+     *
+     * @mbg.generated
+     */
+    public void setWindturbineid(String windturbineid) {
+        this.windturbineid = windturbineid == null ? null : windturbineid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINEPOWERCURVEFITTING.SPEED
+     *
+     * @return the value of WINDTURBINEPOWERCURVEFITTING.SPEED
+     *
+     * @mbg.generated
+     */
+    public Double getSpeed() {
+        return speed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINEPOWERCURVEFITTING.SPEED
+     *
+     * @param speed the value for WINDTURBINEPOWERCURVEFITTING.SPEED
+     *
+     * @mbg.generated
+     */
+    public void setSpeed(Double speed) {
+        this.speed = speed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINEPOWERCURVEFITTING.ACTUALPOWER
+     *
+     * @return the value of WINDTURBINEPOWERCURVEFITTING.ACTUALPOWER
+     *
+     * @mbg.generated
+     */
+    public Double getActualpower() {
+        return actualpower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINEPOWERCURVEFITTING.ACTUALPOWER
+     *
+     * @param actualpower the value for WINDTURBINEPOWERCURVEFITTING.ACTUALPOWER
+     *
+     * @mbg.generated
+     */
+    public void setActualpower(Double actualpower) {
+        this.actualpower = actualpower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINEPOWERCURVEFITTING.OPTIMALPOWER
+     *
+     * @return the value of WINDTURBINEPOWERCURVEFITTING.OPTIMALPOWER
+     *
+     * @mbg.generated
+     */
+    public Double getOptimalpower() {
+        return optimalpower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINEPOWERCURVEFITTING.OPTIMALPOWER
+     *
+     * @param optimalpower the value for WINDTURBINEPOWERCURVEFITTING.OPTIMALPOWER
+     *
+     * @mbg.generated
+     */
+    public void setOptimalpower(Double optimalpower) {
+        this.optimalpower = optimalpower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINEPOWERCURVEFITTING.MAINID
+     *
+     * @return the value of WINDTURBINEPOWERCURVEFITTING.MAINID
+     *
+     * @mbg.generated
+     */
+    public String getMainid() {
+        return mainid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINEPOWERCURVEFITTING.MAINID
+     *
+     * @param mainid the value for WINDTURBINEPOWERCURVEFITTING.MAINID
+     *
+     * @mbg.generated
+     */
+    public void setMainid(String mainid) {
+        this.mainid = mainid == null ? null : mainid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINEPOWERCURVEFITTING.OPTMALPOWER
+     *
+     * @return the value of WINDTURBINEPOWERCURVEFITTING.OPTMALPOWER
+     *
+     * @mbg.generated
+     */
+    public Double getOptmalpower() {
+        return optmalpower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINEPOWERCURVEFITTING.OPTMALPOWER
+     *
+     * @param optmalpower the value for WINDTURBINEPOWERCURVEFITTING.OPTMALPOWER
+     *
+     * @mbg.generated
+     */
+    public void setOptmalpower(Double optmalpower) {
+        this.optmalpower = optmalpower;
+    }
+}

+ 753 - 0
src/main/java/com/gyee/frame/model/auto/WindturbinepowercurvefittingExample.java

@@ -0,0 +1,753 @@
+package com.gyee.frame.model.auto;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WindturbinepowercurvefittingExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    public WindturbinepowercurvefittingExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @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 WINDTURBINEPOWERCURVEFITTING
+     *
+     * @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 WINDTURBINEPOWERCURVEFITTING
+     *
+     * @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 WINDTURBINEPOWERCURVEFITTING
+     *
+     * @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 WINDTURBINEPOWERCURVEFITTING
+     *
+     * @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 andWindturbineidIsNull() {
+            addCriterion("WINDTURBINEID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidIsNotNull() {
+            addCriterion("WINDTURBINEID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidEqualTo(String value) {
+            addCriterion("WINDTURBINEID =", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidNotEqualTo(String value) {
+            addCriterion("WINDTURBINEID <>", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidGreaterThan(String value) {
+            addCriterion("WINDTURBINEID >", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidGreaterThanOrEqualTo(String value) {
+            addCriterion("WINDTURBINEID >=", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidLessThan(String value) {
+            addCriterion("WINDTURBINEID <", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidLessThanOrEqualTo(String value) {
+            addCriterion("WINDTURBINEID <=", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidLike(String value) {
+            addCriterion("WINDTURBINEID like", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidNotLike(String value) {
+            addCriterion("WINDTURBINEID not like", value, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidIn(List<String> values) {
+            addCriterion("WINDTURBINEID in", values, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidNotIn(List<String> values) {
+            addCriterion("WINDTURBINEID not in", values, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidBetween(String value1, String value2) {
+            addCriterion("WINDTURBINEID between", value1, value2, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindturbineidNotBetween(String value1, String value2) {
+            addCriterion("WINDTURBINEID not between", value1, value2, "windturbineid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedIsNull() {
+            addCriterion("SPEED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedIsNotNull() {
+            addCriterion("SPEED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedEqualTo(Double value) {
+            addCriterion("SPEED =", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedNotEqualTo(Double value) {
+            addCriterion("SPEED <>", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedGreaterThan(Double value) {
+            addCriterion("SPEED >", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedGreaterThanOrEqualTo(Double value) {
+            addCriterion("SPEED >=", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedLessThan(Double value) {
+            addCriterion("SPEED <", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedLessThanOrEqualTo(Double value) {
+            addCriterion("SPEED <=", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedIn(List<Double> values) {
+            addCriterion("SPEED in", values, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedNotIn(List<Double> values) {
+            addCriterion("SPEED not in", values, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedBetween(Double value1, Double value2) {
+            addCriterion("SPEED between", value1, value2, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedNotBetween(Double value1, Double value2) {
+            addCriterion("SPEED not between", value1, value2, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerIsNull() {
+            addCriterion("ACTUALPOWER is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerIsNotNull() {
+            addCriterion("ACTUALPOWER is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerEqualTo(Double value) {
+            addCriterion("ACTUALPOWER =", value, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerNotEqualTo(Double value) {
+            addCriterion("ACTUALPOWER <>", value, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerGreaterThan(Double value) {
+            addCriterion("ACTUALPOWER >", value, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerGreaterThanOrEqualTo(Double value) {
+            addCriterion("ACTUALPOWER >=", value, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerLessThan(Double value) {
+            addCriterion("ACTUALPOWER <", value, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerLessThanOrEqualTo(Double value) {
+            addCriterion("ACTUALPOWER <=", value, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerIn(List<Double> values) {
+            addCriterion("ACTUALPOWER in", values, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerNotIn(List<Double> values) {
+            addCriterion("ACTUALPOWER not in", values, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerBetween(Double value1, Double value2) {
+            addCriterion("ACTUALPOWER between", value1, value2, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andActualpowerNotBetween(Double value1, Double value2) {
+            addCriterion("ACTUALPOWER not between", value1, value2, "actualpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerIsNull() {
+            addCriterion("OPTIMALPOWER is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerIsNotNull() {
+            addCriterion("OPTIMALPOWER is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerEqualTo(Double value) {
+            addCriterion("OPTIMALPOWER =", value, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerNotEqualTo(Double value) {
+            addCriterion("OPTIMALPOWER <>", value, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerGreaterThan(Double value) {
+            addCriterion("OPTIMALPOWER >", value, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerGreaterThanOrEqualTo(Double value) {
+            addCriterion("OPTIMALPOWER >=", value, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerLessThan(Double value) {
+            addCriterion("OPTIMALPOWER <", value, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerLessThanOrEqualTo(Double value) {
+            addCriterion("OPTIMALPOWER <=", value, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerIn(List<Double> values) {
+            addCriterion("OPTIMALPOWER in", values, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerNotIn(List<Double> values) {
+            addCriterion("OPTIMALPOWER not in", values, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerBetween(Double value1, Double value2) {
+            addCriterion("OPTIMALPOWER between", value1, value2, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptimalpowerNotBetween(Double value1, Double value2) {
+            addCriterion("OPTIMALPOWER not between", value1, value2, "optimalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidIsNull() {
+            addCriterion("MAINID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidIsNotNull() {
+            addCriterion("MAINID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidEqualTo(String value) {
+            addCriterion("MAINID =", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidNotEqualTo(String value) {
+            addCriterion("MAINID <>", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidGreaterThan(String value) {
+            addCriterion("MAINID >", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidGreaterThanOrEqualTo(String value) {
+            addCriterion("MAINID >=", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidLessThan(String value) {
+            addCriterion("MAINID <", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidLessThanOrEqualTo(String value) {
+            addCriterion("MAINID <=", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidLike(String value) {
+            addCriterion("MAINID like", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidNotLike(String value) {
+            addCriterion("MAINID not like", value, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidIn(List<String> values) {
+            addCriterion("MAINID in", values, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidNotIn(List<String> values) {
+            addCriterion("MAINID not in", values, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidBetween(String value1, String value2) {
+            addCriterion("MAINID between", value1, value2, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMainidNotBetween(String value1, String value2) {
+            addCriterion("MAINID not between", value1, value2, "mainid");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerIsNull() {
+            addCriterion("OPTMALPOWER is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerIsNotNull() {
+            addCriterion("OPTMALPOWER is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerEqualTo(Double value) {
+            addCriterion("OPTMALPOWER =", value, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerNotEqualTo(Double value) {
+            addCriterion("OPTMALPOWER <>", value, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerGreaterThan(Double value) {
+            addCriterion("OPTMALPOWER >", value, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerGreaterThanOrEqualTo(Double value) {
+            addCriterion("OPTMALPOWER >=", value, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerLessThan(Double value) {
+            addCriterion("OPTMALPOWER <", value, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerLessThanOrEqualTo(Double value) {
+            addCriterion("OPTMALPOWER <=", value, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerIn(List<Double> values) {
+            addCriterion("OPTMALPOWER in", values, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerNotIn(List<Double> values) {
+            addCriterion("OPTMALPOWER not in", values, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerBetween(Double value1, Double value2) {
+            addCriterion("OPTMALPOWER between", value1, value2, "optmalpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andOptmalpowerNotBetween(Double value1, Double value2) {
+            addCriterion("OPTMALPOWER not between", value1, value2, "optmalpower");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WINDTURBINEPOWERCURVEFITTING
+     *
+     * @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 WINDTURBINEPOWERCURVEFITTING
+     *
+     * @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);
+        }
+    }
+}

+ 27 - 0
src/main/java/com/gyee/frame/model/custom/BraceletUsringVo.java

@@ -0,0 +1,27 @@
+package com.gyee.frame.model.custom;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Auther: ruyuan
+ * @Date: 2019-05-17 09:54
+ * @Description:
+ */
+@Data
+public class BraceletUsringVo implements Serializable {
+    private static final long serialVersionUID = -4764882133687460383L;
+    private long id;
+    private String username;
+    private String mobile;
+    private String img;
+    private long deviceid;
+    private String deviceno;
+    private String devicename;
+    private int usring;
+    private Date updatatime;
+    private String stationid;
+    private Object objects;
+}

+ 5 - 3
src/main/java/com/gyee/frame/netty/websocket/WebSocketServer.java

@@ -120,9 +120,11 @@ public class WebSocketServer extends SocketTaskUtil {
                 InetSocketAddress curryip=WebsocketUtil.getRemoteAddress(session);
                 InetSocketAddress itemip=WebsocketUtil.getRemoteAddress(item.session);
                 if(curryip.getHostString().equals(itemip.getHostString()) &&
-                           (item.session.getRequestURI().getPath().indexOf("/wp_")>0 ||
-                                   item.session.getRequestURI().getPath().indexOf("/pj_")>0
-                                )
+                           (
+                            item.session.getRequestURI().getPath().indexOf("/wp_")>0 ||
+                            item.session.getRequestURI().getPath().indexOf("/pj_")>0 ||
+                            item.session.getRequestURI().getPath().indexOf("/bu_")>0
+                           )
                 )
                 {
                     entry.getValue().remove(item);

+ 2 - 3
src/main/java/com/gyee/frame/netty/websocket/config/ConfigDetail.txt

@@ -14,8 +14,7 @@ weatherConfigMap->weatherProphet_40->"pageNumber_5","functionNumber_1"
 weatherConfigMap->weatherProphet_7Day_17Hour->"pageNumber_3","functionNumber_2"
 7.首页模块推送,第二部分指标模块的子模块1,综合指标模块,包括安全天数、装机容量、日发电量、预测发电量、上网电量
 sisConfigMap->index_target_comprehensive_indicators->"pageNumber_6","functionNumber_1"
-8.首页模块推送,第二部分指标模块的子模块2,风速功率模块,包括平均风速、预测风速、实际功率、理论功率
-sisConfigMap->index_target_windSpeed_power->"pageNumber_6","functionNumber_2"
+
 9.首页模块推送,第三部分风机状态模块,包括接入、待机、运行、故障、维护、离线
 sisConfigMap->index_windturbine_status->"pageNumber_6","functionNumber_3"
 
@@ -47,4 +46,4 @@ socketConfigMap->monitor_target_matrixMonitor->"pageNumber_4","functionNumber_2"
 25.判断即时通信用户在线状态
 socketConfigMap->monitor_target_status->"pageNumber_4","functionNumber_3","keyid"(无调度任务,rtc推送实时数据)
 26.试试监听登录用户信息,便于后台退出
-socketConfigMap->online_target_status->"pageNumber_4","functionNumber_5","keyid"(keyid为用户id,无调度任务,rtc推送实时数据)
+socketConfigMap->online_target_status->"pageNumber_4","functionNumber_5","keyid"(keyid为用户id,无调度任务,rtc推送实时数据)

+ 115 - 0
src/main/java/com/gyee/frame/service/ForecastPowerService.java

@@ -0,0 +1,115 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.conf.redis.CacheContext;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.Weatherfh;
+import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.auto.Windturbinepowercurvefitting;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Service
+public class ForecastPowerService {
+
+    @Resource
+    private JdbcTemplate jdbcTemplate;
+
+    @Resource
+    private WeatherfhService weatherfhService;
+
+    public double getForecastPower(String wpId)
+    {
+        double ycdl=0.0;
+        if(StringUtils.isNotEmpty(wpId))
+        {
+            Calendar cal = Calendar.getInstance();
+            int hour = cal.get(Calendar.HOUR_OF_DAY);
+            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();
+
+            List<Weatherfh> wfhls = weatherfhService.findWeatherfh(beginDate, endDate, wpId);
+
+
+            if (!wfhls.isEmpty()) {
+
+                Map<Double, Integer> speedmap = new HashMap<Double, Integer>();
+                for (Weatherfh wh : wfhls) {
+
+                    if (speedmap.containsKey(wh.getSpeed())) {
+                        int temp = speedmap.get(wh.getSpeed()) + 1;
+                        speedmap.put(wh.getSpeed(), temp);
+                    } else {
+                        speedmap.put(wh.getSpeed(), 1);
+                    }
+
+                }
+                ycdl = getPowerByWp(speedmap, wpId, 1);
+
+            }
+
+        }
+
+        return ycdl;
+    }
+
+    private double getPowerByWp(Map<Double, Integer> speedmap, String wpId, double step) {
+        double power = 0.0;
+
+        if (InitialRunner.wp_wtmap.containsKey(wpId)) {
+            List<Windturbine> wtls = InitialRunner.wp_wtmap.get(wpId);
+            for (Windturbine wt : wtls) {
+                Map<Double, Windturbinepowercurvefitting> map = InitialRunner.wpcmap.get(wt.getId());
+
+                Set<Map.Entry<Double, Integer>> set = speedmap.entrySet();
+                for (Iterator<Map.Entry<Double, Integer>> it = set.iterator(); it.hasNext();) {
+                    Map.Entry<Double, Integer> entry = (Map.Entry<Double, Integer>) it.next();
+                    // System.out.println(entry.getKey() + "--->" +
+                    // entry.getValue());
+
+                    double speed = entry.getKey() > 24.99 ? entry.getKey() : 24.99;
+                    if (map.containsKey(speed)) {
+                        Windturbinepowercurvefitting wc = map.get(speed);
+
+                        double actualpower = wc.getActualpower();
+                        // / <summary>
+                        // /电量分析主要针对省公司和各风场的每月实际发电量与计划的对比分析,可以查看省公司及各风场每月计划的完成情况和总体的计划完成情况,可以同比和环比进行比较;
+                        // /对省公司和各风场的实际发电量与理论发电量的对比分析,利用标准功率曲线中的风速,理论功率,和固定时间段的风频进行统计,设计统计分析公式为:
+                        // /理论发电量=(T*f1/f)*P1+(T*f2/f)*P2+…………(T*fn/f)*Pn
+                        // /T是选取的时间段;
+                        // /f是所有风频的和;
+                        // /f1、f2、fn是某风速对应的风频;
+                        // /P1、Pn是某风速对应理论曲线上的功率。
+                        // /必要性:如果理论电量能够实现计算的准确,调峰电量就可以用理论电量来减去实际电量得出。
+                        // /b、可选一段时间内的实际功率和理论功率能够形成曲线形式展示对比,理论功率根据实际风速利用理论功率曲线得出。
+                        // /c、风频数据取值时间段需要统一。
+                        // / </summary>
+                        // / <param name="powerDataList">功率集合</param>
+                        // / <param name="hours">时长小时数</param>
+                        // / <returns>理论发电量</returns>
+
+                        power = power + new BigDecimal(step).multiply(new BigDecimal(entry.getValue())).divide(new BigDecimal(speedmap.size()), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(actualpower)).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    }
+                }
+
+            }
+        }
+        return StringUtils.round(power, 2);
+    }
+
+}

+ 0 - 150
src/main/java/com/gyee/frame/service/ShbraceletpointService.java

@@ -1,150 +0,0 @@
-package com.gyee.frame.service;
-
-import java.util.List;
-import java.util.Arrays;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.gyee.frame.common.base.BaseService;
-import com.gyee.frame.common.support.Convert;
-import com.gyee.frame.mapper.auto.ShbraceletpointMapper;
-import com.gyee.frame.model.auto.Shbraceletpoint;
-import com.gyee.frame.model.auto.ShbraceletpointExample;
-import com.gyee.frame.model.custom.Tablepar;
-import com.gyee.frame.util.SnowflakeIdWorker;
-
-/**
- *  ShbraceletpointService
- * @Title: ShbraceletpointService.java 
- * @Package com.gyee.frame.service 
- * @author gyee_自动生成
- * @email 1@qq.com
- * @date 2020-05-20 19:07:48  
- **/
-@Service
-public class ShbraceletpointService implements BaseService<Shbraceletpoint, ShbraceletpointExample>{
-	@Autowired
-	private ShbraceletpointMapper shbraceletpointMapper;
-
-
-
-		/**
-		 * 查询集合
-		 * @return
-		 */
-		public List<Shbraceletpoint> shbraceletpointList(Long beginDateTs,Long endDateTs){
-			ShbraceletpointExample testExample=new ShbraceletpointExample();
-			testExample.setOrderByClause("ts ASC");
-
-
-				testExample.createCriteria().andTsGreaterThanOrEqualTo(beginDateTs).andTsLessThanOrEqualTo(endDateTs);
-				List<Shbraceletpoint> shbraceletpointList = shbraceletpointMapper.selectByExample(testExample);
-
-
-			return shbraceletpointList;
-		}
-	/**
-	 * 分页查询
-	 * @return
-	 */
-	 public PageInfo<Shbraceletpoint> list(Tablepar tablepar,String name){
-	        ShbraceletpointExample testExample=new ShbraceletpointExample();
-	        testExample.setOrderByClause("id ASC");
-	        if(name!=null&&!"".equals(name)){
-	        	//testExample.createCriteria().andTsLike("%"+name+"%");
-	        }
-
-	        PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
-	        List<Shbraceletpoint> list= shbraceletpointMapper.selectByExample(testExample);
-	        PageInfo<Shbraceletpoint> pageInfo = new PageInfo<Shbraceletpoint>(list);
-	        return  pageInfo;
-	 }
-
-	@Override
-	public int deleteByPrimaryKey(String ids) {
-				
-			List<String> lista=Convert.toListStrArray(ids);
-			ShbraceletpointExample example=new ShbraceletpointExample();
-			example.createCriteria().andIdIn(lista);
-			return shbraceletpointMapper.deleteByExample(example);
-			
-				
-	}
-	
-	
-	@Override
-	public Shbraceletpoint selectByPrimaryKey(String id) {
-				
-			return shbraceletpointMapper.selectByPrimaryKey(id);
-				
-	}
-
-	
-	@Override
-	public int updateByPrimaryKeySelective(Shbraceletpoint record) {
-		return shbraceletpointMapper.updateByPrimaryKeySelective(record);
-	}
-	
-	
-	/**
-	 * 添加
-	 */
-	@Override
-	public int insertSelective(Shbraceletpoint record) {
-				
-		//添加雪花主键id
-		record.setId(SnowflakeIdWorker.getUUID());
-			
-				
-		return shbraceletpointMapper.insertSelective(record);
-	}
-	
-	
-	@Override
-	public int updateByExampleSelective(Shbraceletpoint record, ShbraceletpointExample example) {
-		
-		return shbraceletpointMapper.updateByExampleSelective(record, example);
-	}
-
-	
-	@Override
-	public int updateByExample(Shbraceletpoint record, ShbraceletpointExample example) {
-		
-		return shbraceletpointMapper.updateByExample(record, example);
-	}
-
-	@Override
-	public List<Shbraceletpoint> selectByExample(ShbraceletpointExample example) {
-		
-		return shbraceletpointMapper.selectByExample(example);
-	}
-
-	
-	@Override
-	public long countByExample(ShbraceletpointExample example) {
-		
-		return shbraceletpointMapper.countByExample(example);
-	}
-
-	
-	@Override
-	public int deleteByExample(ShbraceletpointExample example) {
-		
-		return shbraceletpointMapper.deleteByExample(example);
-	}
-	
-	/**
-	 * 检查name
-	 * @param shbraceletpoint
-	 * @return
-	 */
-	public int checkNameUnique(Shbraceletpoint shbraceletpoint){
-		ShbraceletpointExample example=new ShbraceletpointExample();
-		example.createCriteria().andTsEqualTo(shbraceletpoint.getTs());
-		List<Shbraceletpoint> list=shbraceletpointMapper.selectByExample(example);
-		return list.size();
-	}
-
-
-}

+ 16 - 0
src/main/java/com/gyee/frame/service/WeatherfhService.java

@@ -11,6 +11,8 @@ import com.gyee.frame.model.custom.Tablepar;
 import com.gyee.frame.model.enumeration.Messagetype;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
 import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import com.gyee.frame.util.golden.StringUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -60,6 +62,20 @@ public class WeatherfhService extends SocketToolService implements BaseService<W
 	        PageInfo<Weatherfh> pageInfo = new PageInfo<Weatherfh>(list);
 	        return  pageInfo;
 	 }
+
+	public List<Weatherfh> findWeatherfh(Date beginDate,Date endDate, String wpId)  {
+
+		WeatherfhExample testExample=new WeatherfhExample();
+		testExample.setOrderByClause("id ASC");
+
+		if(beginDate!=null&&endDate!=null&& StringUtils.isNotEmpty(wpId)){
+
+			testExample.createCriteria().andWindpowerstationidEqualTo(wpId).andRecodedataGreaterThanOrEqualTo(beginDate).andRecodedataLessThanOrEqualTo(endDate);
+		}
+		List<Weatherfh> list= weatherfhMapper.selectByExample(testExample);
+
+		return list;
+	}
 	 /**
 	  * 
 	 	 *@author:Li Miao

+ 115 - 0
src/main/java/com/gyee/frame/service/WindturbinepowercurvefittingService.java

@@ -0,0 +1,115 @@
+package com.gyee.frame.service;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WindturbinepowercurvefittingMapper;
+import com.gyee.frame.model.auto.Windturbinepowercurvefitting;
+import com.gyee.frame.model.auto.WindturbinepowercurvefittingExample;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+@Service
+public class WindturbinepowercurvefittingService implements BaseService<Windturbinepowercurvefitting, WindturbinepowercurvefittingExample>{
+	@Resource
+	private WindturbinepowercurvefittingMapper windturbinepowercurvefittingMapper;
+	
+      	   	      	      	      	      	      	      	      	      	      	      	      	      	      	
+	/**
+	 * 分页查询
+	 * @param tablepar
+	 * @param name
+	 * @return
+	 */
+	 public PageInfo<Windturbinepowercurvefitting> list(Tablepar tablepar,String name){
+	        WindturbinepowercurvefittingExample testExample=new WindturbinepowercurvefittingExample();
+	        testExample.setOrderByClause("id ASC");
+
+	        PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+	        List<Windturbinepowercurvefitting> list= windturbinepowercurvefittingMapper.selectByExample(testExample);
+	        PageInfo<Windturbinepowercurvefitting> pageInfo = new PageInfo<Windturbinepowercurvefitting>(list);
+	        return  pageInfo;
+	 }
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			WindturbinepowercurvefittingExample example=new WindturbinepowercurvefittingExample();
+			example.createCriteria().andIdIn(lista);
+			return windturbinepowercurvefittingMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public Windturbinepowercurvefitting selectByPrimaryKey(String id) {
+				
+			return windturbinepowercurvefittingMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Windturbinepowercurvefitting record) {
+		return windturbinepowercurvefittingMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Windturbinepowercurvefitting record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return windturbinepowercurvefittingMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Windturbinepowercurvefitting record, WindturbinepowercurvefittingExample example) {
+		
+		return windturbinepowercurvefittingMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Windturbinepowercurvefitting record, WindturbinepowercurvefittingExample example) {
+		
+		return windturbinepowercurvefittingMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Windturbinepowercurvefitting> selectByExample(WindturbinepowercurvefittingExample example) {
+		
+		return windturbinepowercurvefittingMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WindturbinepowercurvefittingExample example) {
+		
+		return windturbinepowercurvefittingMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WindturbinepowercurvefittingExample example) {
+		
+		return windturbinepowercurvefittingMapper.deleteByExample(example);
+	}
+	
+
+
+}

+ 63 - 87
src/main/java/com/gyee/frame/service/app/bracelet/BraceletService.java

@@ -1,113 +1,89 @@
 package com.gyee.frame.service.app.bracelet;
 
-import com.gyee.frame.model.auto.Shbraceletpoint;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.Shbraceletpointkey;
+import com.gyee.frame.model.auto.WindTurbineTestingPointAi2;
+import com.gyee.frame.model.custom.BraceletUsringVo;
+import com.gyee.frame.model.custom.MatrixVo;
 import com.gyee.frame.model.enumeration.Messagetype;
+import com.gyee.frame.netty.websocket.WebSocketServer;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
-import com.gyee.frame.service.ShbraceletpointService;
+import com.gyee.frame.util.ResponseWrapper;
+import com.gyee.frame.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestParam;
 
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CopyOnWriteArraySet;
 
 @Service
 public class BraceletService extends SocketToolService {
-    public static Map<String, List<String>> bracelet_pointMap = new HashMap<>();
-    public static Map<String, Map<String, Map<String, List<Shbraceletpoint>>>> shbraceletpointMapMapMapList = new HashMap<>();
-    /*ip,  Y1-A0BC,  Y1-A0BC_PLD,*/
+
     @Autowired
-    private ShbraceletpointService shbraceletpointService;
-    /*2020-05-01 12:13:11*/
-    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-    public void braceletPushTask() throws Exception {
-        Set set = bracelet_pointMap.keySet();
-        Iterator<String> it = set.iterator();
-        Map<String, Double> pointDataMap = new HashMap();
-        while (it.hasNext()) {
-            String ip = it.next();
-            List<String> braceletDateList = bracelet_pointMap.get(ip);
-            String beginDate = braceletDateList.get(0);
-            String endDate = braceletDateList.get(1);
-
-            Long beginDateTs = sdf.parse(beginDate).getTime();
-            Long endDateTs = sdf.parse(endDate).getTime();
-
-            List<Shbraceletpoint> shbraceletpointList = shbraceletpointService.shbraceletpointList(beginDateTs, endDateTs);
-            /*Map<String,Map<String,List<Shbraceletpoint>>> deviceNameMap = new HashMap<>();
-            Map<String, List<Shbraceletpoint>> deviceMetricsNameMap = new HashMap<>();
-
-            *//*获取设备指标名称*//*
-            List<String> deviceMetricsName = shbraceletpointList.stream().map(Shbraceletpoint::getKey).collect(Collectors.toList());
-
-            for (int i = 0;i<deviceMetricsName.size();i++){
-                List<Shbraceletpoint> list = new ArrayList<>();
-                list.clear();
-                String metriceName = deviceMetricsName.get(i);
-                for (int j = 0;j<deviceMetricsName.size();j++) {
-                    String key = shbraceletpointList.get(j).getKey();
-                    if (metriceName.equals(key)) {
-                        Shbraceletpoint shbraceletpoint = shbraceletpointList.get(j);
-                        list.add(shbraceletpoint);
-                        deviceMetricsNameMap.put(metriceName, list);
-                    }
-                }
-            }
+    private IShbraceletpointkeyService iShbraceletpointkeyService;
+    @Autowired
+    private IShbraceletuserService iShbraceletuserService;
+    @Autowired
+    private RestfulClientService restfulClientService;
+    public void braceletPushTask(){
 
-            Map<String,Map<String, List<Shbraceletpoint>>>  deviceMap = new HashMap<>();
-            for(Shbraceletpoint shbraceletpoint1:shbraceletpointList){
-                String deviceName = shbraceletpoint1.getKey().split("_")[0];
-                deviceNameMap.put(deviceName,deviceMetricsNameMap);
-                Map<String,List<Shbraceletpoint>> listMap = new HashMap<>();
-                for(String key:deviceMetricsNameMap.keySet()){
+        Map<String, Map<String, WindTurbineTestingPointAi2>> wtpAimap = InitialRunner.wtpAimap;
+        String pageNumber = "pageNumber_9";
+        String functionNumber = "functionNumber_1";
+        StringBuilder sb = new StringBuilder();
+        sb.append(pageNumber).append("_").append(functionNumber);
 
-                    listMap.put(key, deviceMetricsNameMap.get(key));
+        String jobkey = String.valueOf(sb);
+        Map<String, CopyOnWriteArraySet<String>> keyidMap = WebSocketServer.keyidMap;
 
-                    deviceNameMap.put(deviceName,listMap);
-                }
 
-            }*/
-            Map<String, Map<String, List<Shbraceletpoint>>> deviceNameMap = injectionMap(shbraceletpointList);
-            shbraceletpointMapMapMapList.put(ip,deviceNameMap);
-        }
+        if(keyidMap.containsKey(jobkey))
+        {
+            CopyOnWriteArraySet<String> set=keyidMap.get(jobkey);
 
-        this.pushToWeb("pageNumber_9", "functionNumber_1","all", shbraceletpointMapMapMapList, Messagetype.MESSAGE);
-    }
-    private  Map<String,Map<String,List<Shbraceletpoint>>> injectionMap(List<Shbraceletpoint> shbraceletpointList ){
-        Map<String,Map<String,List<Shbraceletpoint>>> deviceNameMap = new HashMap<>();/*设备名*/
-        Map<String, List<Shbraceletpoint>> deviceMetricsNameMap = new HashMap<>();/*设备指标*/
-
-        /*获取设备指标名称*/
-        List<String> deviceMetricsName = shbraceletpointList.stream().map(Shbraceletpoint::getKey).collect(Collectors.toList());
-
-        for (int i = 0;i<deviceMetricsName.size();i++){
-            List<Shbraceletpoint> list = new ArrayList<>();
-            list.clear();
-            String metriceName = deviceMetricsName.get(i);
-            for (int j = 0;j<deviceMetricsName.size();j++) {
-                String key = shbraceletpointList.get(j).getKey();
-                if (metriceName.equals(key)) {
-                    Shbraceletpoint shbraceletpoint = shbraceletpointList.get(j);
-                    list.add(shbraceletpoint);
-                    deviceMetricsNameMap.put(metriceName, list);
+            for (String str : set) {
+
+                List<MatrixVo> vos = new ArrayList<>();
+
+                if (StringUtils.isEmpty(str) || str.equals("all")) {
+                    continue;
                 }
+                String keyid_title = str.substring(0, 3);
+                String keyid = str.substring(3);
+                List<BraceletUsringVo> usringVoList=selectUserInfo(Long.valueOf(keyid));
+
+                this.pushToWeb("pageNumber_9","functionNumber_1",str,usringVoList, Messagetype.MESSAGE);
             }
         }
 
-        /*Map<String,Map<String, List<Shbraceletpoint>>>  deviceMap = new HashMap<>();*/
-        for(Shbraceletpoint shbraceletpoint1:shbraceletpointList){
-            String deviceName = shbraceletpoint1.getKey().split("_")[0];
-            deviceNameMap.put(deviceName,deviceMetricsNameMap);
-            Map<String,List<Shbraceletpoint>> listMap = new HashMap<>();
-            for(String key:deviceMetricsNameMap.keySet()){
 
-                listMap.put(key, deviceMetricsNameMap.get(key));
+    }
 
-                deviceNameMap.put(deviceName,listMap);
+    public  List<BraceletUsringVo> selectUserInfo(long userid){
+
+        List<BraceletUsringVo> list=iShbraceletuserService.selectRaceletuserUsring(userid,0,null);
+        List<BraceletUsringVo> usringVoList = new ArrayList<>();
+        if(list !=null && list.size()>0){
+            for(BraceletUsringVo v:list){
+                StringBuilder sbBoolean = new StringBuilder();
+                List<Shbraceletpointkey> pointkeys=iShbraceletpointkeyService.selectPointkeyByDeviceid(v.getDeviceid());
+                for(Shbraceletpointkey key:pointkeys){
+                    sbBoolean.append(key.getPointkey());
+                    sbBoolean.append(",");
+                }
+                ResponseWrapper re= restfulClientService.selectGoldenTsData(sbBoolean.toString());
+                if(re.getSuccess()){
+                    v.setObjects(re.getData());
+                }
+                usringVoList.add(v);
             }
-
+            return  usringVoList;
         }
-        return deviceNameMap;
+        return  null;
     }
 }
+
+

+ 26 - 0
src/main/java/com/gyee/frame/service/app/bracelet/IShbraceletpointkeyService.java

@@ -0,0 +1,26 @@
+package com.gyee.frame.service.app.bracelet;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.frame.model.auto.Shbraceletpointkey;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 手环点测表 服务类
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+public interface IShbraceletpointkeyService extends IService<Shbraceletpointkey> {
+
+    Integer saveShbraceletpointkey(Shbraceletpointkey shbraceletpointkey);
+
+    List<Shbraceletpointkey> selectPointkeyByUserId(long userid);
+
+    List<Shbraceletpointkey> selectPointkeyByDeviceid(long deviceid);
+
+
+
+}

+ 29 - 0
src/main/java/com/gyee/frame/service/app/bracelet/IShbraceletuserService.java

@@ -0,0 +1,29 @@
+package com.gyee.frame.service.app.bracelet;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.frame.model.auto.Shbraceletuser;
+import com.gyee.frame.model.custom.BraceletUsringVo;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 手环使用记录表 服务类
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+public interface IShbraceletuserService extends IService<Shbraceletuser> {
+
+    Integer saveShbraceletuser(Shbraceletuser shbraceletuser);
+
+    List<BraceletUsringVo> selectRaceletuserUsring(long userid, long deviceid, String stationid);
+
+    IPage<BraceletUsringVo> selectPageRaceletuser(Page page, long userid, long deviceid, String stationid);
+
+    List<BraceletUsringVo> selectRaceletuserUserList();
+
+}

+ 37 - 0
src/main/java/com/gyee/frame/service/app/bracelet/RestfulClientService.java

@@ -0,0 +1,37 @@
+package com.gyee.frame.service.app.bracelet;
+
+
+import com.gyee.frame.util.ResponseWrapper;
+import com.gyee.frame.util.golden.timeseries.TsPointData;
+
+import java.util.List;
+
+/**
+ * @Auther: ruyuan
+ * @Date: 2019-05-16 14:11
+ * @Description:
+ */
+public interface RestfulClientService {
+    /**
+     * 调用golden 保存数据
+     * @param list
+     * @return
+     */
+    ResponseWrapper saveGoldenTsDataList(List<TsPointData> list);
+
+
+
+    /**
+     * 调用golden 获取实时数据
+     * @param keys
+     * @return
+     */
+    ResponseWrapper selectGoldenTsData(String keys);
+
+    /**
+     * 获取历史数据
+     * @param keys
+     * @return
+     */
+    ResponseWrapper selectGoldenTsDataHistory(String keys, String url);
+}

+ 99 - 0
src/main/java/com/gyee/frame/service/app/bracelet/impl/RestfulClientServiceImpl.java

@@ -0,0 +1,99 @@
+package com.gyee.frame.service.app.bracelet.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.gyee.frame.common.conf.GoldenConfig;
+import com.gyee.frame.service.app.bracelet.RestfulClientService;
+import com.gyee.frame.util.ResponseWrapper;
+import com.gyee.frame.util.golden.timeseries.TsPointData;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@Slf4j
+@Component
+public class RestfulClientServiceImpl implements RestfulClientService {
+    private RestTemplate restTemplate;
+    private String serviceUrl= GoldenConfig.baseurl;
+
+
+    private String adpLatestUrl;
+
+
+    private String getAdpUrl() {
+        return serviceUrl;
+    }
+
+    private String getAdpLatestUrl() {
+        if (adpLatestUrl == null) {
+            adpLatestUrl = getAdpUrl();
+        }
+        return adpLatestUrl;
+    }
+
+    private RestTemplate getRestTemplate() {
+        if (restTemplate == null) {
+            //复杂构造函数的使用
+            SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
+            requestFactory.setConnectTimeout(10000);// 设置超时
+            requestFactory.setReadTimeout(10000);
+            restTemplate = new RestTemplate(requestFactory);
+        }
+        return restTemplate;
+    }
+
+    @Override
+    public ResponseWrapper saveGoldenTsDataList(List<TsPointData> list) {
+        Object json = getRestTemplate().postForObject(getAdpLatestUrl()+ "/latest/batch", list, Object.class);
+        if((Boolean)json){
+            log.info("请求golden保存成功----"+json);
+            return ResponseWrapper.success("请求golden成功");
+        }else{
+            log.info("请求golden保存失败----"+json);
+            return ResponseWrapper.error("请求golden失败");
+        }
+
+    }
+
+    @Override
+    public ResponseWrapper selectGoldenTsData(String keys) {
+        String url = getAdpLatestUrl()+"/latest?keys=" + keys;
+        ResponseEntity<Object> resp = getRestTemplate().getForEntity(url, Object.class);
+        if (resp.getStatusCode() == HttpStatus.OK) {
+            Map<String, HashMap<String, Object>> map = (HashMap<String, HashMap<String, Object>>) resp.getBody();
+            if (map != null && map.size() > 0) {
+                Map<String, Object> hashMap = new HashMap<String, Object>();
+                for (Map.Entry<String, HashMap<String, Object>> entry : map.entrySet()){
+                    String key=entry.getKey();
+                    hashMap.put(key.substring(key.lastIndexOf("_")+1),entry.getValue());
+
+                }
+                return  ResponseWrapper.success(" 成功",hashMap);
+            }
+        }
+        return  ResponseWrapper.error("请求失败",keys);
+    }
+
+    @Override
+    public ResponseWrapper selectGoldenTsDataHistory(String keys, String url) {
+        String baseUrl=getAdpLatestUrl()+"/history/snap?null=0&tagName="+keys+url;
+        ResponseEntity<JSONArray> resp = getRestTemplate().getForEntity(baseUrl, JSONArray.class);
+        if (resp.getStatusCode() == HttpStatus.OK){
+            JSONArray jsonArray = resp.getBody();
+            return ResponseWrapper.success("请求golden成功",jsonArray);
+        }else{
+            return ResponseWrapper.error("请求golden失败",keys);
+        }
+    }
+
+}

+ 43 - 0
src/main/java/com/gyee/frame/service/app/bracelet/impl/ShbraceletpointkeyServiceImpl.java

@@ -0,0 +1,43 @@
+package com.gyee.frame.service.app.bracelet.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import com.gyee.frame.mapper.auto.ShbraceletpointkeyMapper;
+import com.gyee.frame.model.auto.Shbraceletpointkey;
+import com.gyee.frame.service.app.bracelet.IShbraceletpointkeyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 手环点测表 服务实现类
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+@Service
+public class ShbraceletpointkeyServiceImpl extends ServiceImpl<ShbraceletpointkeyMapper, Shbraceletpointkey> implements IShbraceletpointkeyService {
+
+
+    @Autowired
+    private  ShbraceletpointkeyMapper shbraceletpointkeyMapper;
+
+    @Override
+    public Integer saveShbraceletpointkey(Shbraceletpointkey shbraceletpointkey){
+        return shbraceletpointkeyMapper.saveShbraceletpointkey(shbraceletpointkey);
+    }
+
+    @Override
+    public List<Shbraceletpointkey> selectPointkeyByUserId(long userid) {
+        return shbraceletpointkeyMapper.selectPointkeyByUserId(userid);
+    }
+
+    @Override
+    public List<Shbraceletpointkey> selectPointkeyByDeviceid(long deviceid) {
+        return shbraceletpointkeyMapper.selectPointkeyByDeviceid(deviceid);
+    }
+
+}

+ 49 - 0
src/main/java/com/gyee/frame/service/app/bracelet/impl/ShbraceletuserServiceImpl.java

@@ -0,0 +1,49 @@
+package com.gyee.frame.service.app.bracelet.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.frame.mapper.auto.ShbraceletuserMapper;
+import com.gyee.frame.model.auto.Shbraceletuser;
+import com.gyee.frame.model.custom.BraceletUsringVo;
+import com.gyee.frame.service.app.bracelet.IShbraceletuserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 手环使用记录表 服务实现类
+ * </p>
+ *
+ * @author try
+ * @since 2019-05-15
+ */
+@Service
+public class ShbraceletuserServiceImpl extends ServiceImpl<ShbraceletuserMapper, Shbraceletuser> implements IShbraceletuserService {
+    @Autowired
+    private ShbraceletuserMapper shbraceletuserMapper;
+
+
+    @Override
+    public Integer saveShbraceletuser(Shbraceletuser shbraceletuser) {
+        return shbraceletuserMapper.saveShbraceletuser(shbraceletuser);
+    }
+
+    @Override
+    public List<BraceletUsringVo> selectRaceletuserUsring(long userid, long deviceid, String stationid){
+
+        return shbraceletuserMapper.selectRaceletuserUsring(userid,deviceid,stationid);
+    }
+
+    @Override
+    public IPage<BraceletUsringVo> selectPageRaceletuser(Page page, long userid, long deviceid, String stationid) {
+        return shbraceletuserMapper.selectPageRaceletuser(page,userid,deviceid,stationid);
+    }
+
+    @Override
+    public List<BraceletUsringVo> selectRaceletuserUserList() {
+        return shbraceletuserMapper.selectRaceletuserUserList();
+    }
+}

+ 129 - 8
src/main/java/com/gyee/frame/service/app/index/FocastpowerService.java

@@ -2,12 +2,16 @@ package com.gyee.frame.service.app.index;
 
 import com.gyee.frame.model.auto.Forecastwindspeedamended;
 import com.gyee.frame.model.auto.ForecastwindspeedamendedExample;
+import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
 import com.gyee.frame.service.ForecastwindspeedamendedService;
 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.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -30,17 +34,17 @@ public class FocastpowerService extends SocketToolService {
         c.set(Calendar.HOUR_OF_DAY, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
-        Date begin=c.getTime();
-        c.add(Calendar.DAY_OF_MONTH,1);
         Date end=c.getTime();
+        c.add(Calendar.DAY_OF_MONTH,-1);
+        Date begin=c.getTime();
 
         if(name.equals("0"))
         {
-            forecastwindspeedamendedExample.createCriteria().andRecodedateBetween(begin,end);
+            forecastwindspeedamendedExample.createCriteria().andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
 
         }else
         {
-            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateBetween(begin,end);
+            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
 
         }
         List<Forecastwindspeedamended> wtls = forecastwindspeedamendedService.selectByExample(forecastwindspeedamendedExample);
@@ -49,9 +53,13 @@ public class FocastpowerService extends SocketToolService {
         {
             tmp = tmp + wt.getDaypower().doubleValue()+wt.getNightpower().doubleValue();
         }
+        tmp= new BigDecimal(tmp).divide(new BigDecimal(10), 2, RoundingMode.HALF_EVEN).doubleValue();
+
         return tmp;
     }
 
+
+
     public double focastspeed(String name){
 
 
@@ -60,17 +68,17 @@ public class FocastpowerService extends SocketToolService {
         c.set(Calendar.HOUR_OF_DAY, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
-        Date begin=c.getTime();
-        c.add(Calendar.DAY_OF_MONTH,1);
         Date end=c.getTime();
+        c.add(Calendar.DAY_OF_MONTH,-1);
+        Date begin=c.getTime();
 
         if(name.equals("0"))
         {
-            forecastwindspeedamendedExample.createCriteria().andRecodedateBetween(begin,end);
+            forecastwindspeedamendedExample.createCriteria().andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
 
         }else
         {
-            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateBetween(begin,end);
+            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
 
         }
         List<Forecastwindspeedamended> wtls = forecastwindspeedamendedService.selectByExample(forecastwindspeedamendedExample);
@@ -89,4 +97,117 @@ public class FocastpowerService extends SocketToolService {
         return tmp;
     }
 
+    public List<PointData> focastpower7day(String name){
+
+        List<PointData> ls=new ArrayList<>();
+        if(StringUtils.isNotEmpty(name))
+        {
+            Calendar c = Calendar.getInstance();
+            c.add(Calendar.DAY_OF_MONTH,-6);
+            for(int i=0;i<7;i++)
+            {
+                PointData po=  focastpower(c.getTime(),name);
+                ls.add(po);
+                c.add(Calendar.DAY_OF_MONTH,1);
+            }
+
+        }
+        return ls;
+    }
+
+    public List<PointData> focastspeed7day(String name){
+
+        List<PointData> ls=new ArrayList<>();
+        if(StringUtils.isNotEmpty(name))
+        {
+            Calendar c = Calendar.getInstance();
+            c.add(Calendar.DAY_OF_MONTH,-6);
+            for(int i=0;i<7;i++)
+            {
+                PointData po=  focastspeed(c.getTime(),name);
+                ls.add(po);
+                c.add(Calendar.DAY_OF_MONTH,1);
+            }
+
+        }
+        return ls;
+    }
+    public PointData focastpower(Date recorddate,String name){
+
+
+        PointData po=new PointData();
+        po.setPointTime(recorddate.getTime());
+        ForecastwindspeedamendedExample forecastwindspeedamendedExample=new ForecastwindspeedamendedExample();
+        Calendar c = Calendar.getInstance();
+        c.setTime(recorddate);
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        Date end=c.getTime();
+        c.add(Calendar.DAY_OF_MONTH,-1);
+        Date begin=c.getTime();
+
+        if(name.equals("0"))
+        {
+            forecastwindspeedamendedExample.createCriteria().andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
+
+        }else
+        {
+            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
+
+        }
+        List<Forecastwindspeedamended> wtls = forecastwindspeedamendedService.selectByExample(forecastwindspeedamendedExample);
+        double tmp = 0;
+        for(Forecastwindspeedamended wt:wtls)
+        {
+            tmp = tmp + wt.getDaypower().doubleValue()+wt.getNightpower().doubleValue();
+        }
+        tmp= new BigDecimal(tmp).divide(new BigDecimal(10), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+        po.setPointValueInDouble(tmp);
+        return po;
+    }
+
+    public PointData focastspeed(Date recorddate,String name){
+
+
+
+        PointData po=new PointData();
+        po.setPointTime(recorddate.getTime());
+        ForecastwindspeedamendedExample forecastwindspeedamendedExample=new ForecastwindspeedamendedExample();
+        Calendar c = Calendar.getInstance();
+        c.setTime(recorddate);
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        Date end=c.getTime();
+        c.add(Calendar.DAY_OF_MONTH,-1);
+        Date begin=c.getTime();
+
+        if(name.equals("0"))
+        {
+            forecastwindspeedamendedExample.createCriteria().andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
+
+        }else
+        {
+            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateGreaterThanOrEqualTo(begin).andRecodedateLessThan(end);
+
+        }
+        List<Forecastwindspeedamended> wtls = forecastwindspeedamendedService.selectByExample(forecastwindspeedamendedExample);
+        double tmp = 0;
+
+        if(!wtls.isEmpty())
+        {
+            for(Forecastwindspeedamended wt:wtls)
+            {
+                tmp = tmp + wt.getDayspeed().doubleValue()+wt.getNightspeed().doubleValue();
+
+            }
+            tmp= StringUtils.round(tmp/(wtls.size()*2),2);
+            po.setPointValueInDouble(tmp);
+        }
+
+        return po;
+    }
+
 }

+ 5 - 251
src/main/java/com/gyee/frame/service/app/index/IndexService.java

@@ -31,7 +31,9 @@ public class IndexService extends SocketToolService{
 	@Autowired
     private InitialRunner initialRunner;
 	@Resource
-	MttrAndMtbfService mttrAndMtbfService;
+	private MttrAndMtbfService mttrAndMtbfService;
+	@Resource
+	private FocastpowerService focastpowerService;
     private static int decimal_digit = 2;
 	
 	public void index_target_comprehensive_indicators() throws Exception{
@@ -84,14 +86,8 @@ public class IndexService extends SocketToolService{
 	            }
 
 
-				try{
-					//预测发电量
-					ycfdl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.RFDLE).getCode());
-					ycfdl = new BigDecimal(ycfdl_real.getPointValueInDouble()).divide(new BigDecimal(10000), 0, RoundingMode.HALF_EVEN).doubleValue();
-
-				}catch (Exception e){
-					//System.out.println(e.getMessage());
-				}
+				ycfdl=focastpowerService.focastpower(windpowerstation.getId());
+				ycfdl =Double.valueOf( String.format("%.2f", ycfdl));
 
 
 
@@ -125,250 +121,8 @@ public class IndexService extends SocketToolService{
 	
 	
 	public void index_target_windSpeed_power() throws Exception{
-		Map<String, Map<String, WindPowerStationTestingPoint2>> stationPointmap = InitialRunner.stationPointmap;
-        List<Windpowerstation> wpls = new ArrayList<>();
-        for(Windpowerstation wp:InitialRunner.wpls){
-            wpls.add(wp);
-        }
-        Windpowerstation windpowerstationAll = new Windpowerstation();
-        windpowerstationAll.setId("0");
-        wpls.add(windpowerstationAll);
-        Map<String,Map<String,Object>> windpowerstationpointDataMap = new HashMap();
-        IRealTimeDataBaseUtil mongodb= RealTimeDataBaseFactory.createRealTimeDataBase();
-
-        for(Windpowerstation windpowerstation:wpls){
-            Map<String,Object> pointDataMap = new HashMap();
-            double pjfs = 0;
-            double pjfsMin = 0;
-            double pjfsMax = 0;
-            double ycfs = 0;
-            double ycfsMin = 0;
-            double ycfsMax = 0;
-            double sjgl = 0;
-            double sjglMin = 0;
-            double sjglMax = 0;
-            double llgl = 0;
-            double llglMax = 0;
-            double llglMin = 0;
-
-            try {
-                //平均风速
-                PointData pjfs_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_PJFS).getCode());
-				pointDataMap.put("pjfs_real",pjfs_real);
-                pjfs = new BigDecimal(pjfs_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
-            }catch (Exception e){
-                //System.out.println(e.getMessage());
-            }
-            
-            //平均风速min
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){                  	
-                    	if(pjfs==0){
-                    		pjfsMin=pjfs;
-                    	}else{
-                    		pjfsMin = pjfs - 2;
-                    	}
-                    }
-                }else{
-                	if(pjfs==0){
-                		pjfsMin=pjfs;
-                	}else{
-                		pjfsMin = pjfs - 2;
-                	}
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-            
-          //平均风速max
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){
-                    	pjfsMax = pjfs + 2;
-                    }
-                }else{
-                	pjfsMax = pjfs + 2;
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-            
-            //预测风速
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){
-                    	ycfs = pjfs + 2;
-                    }
-                }else{
-                	ycfs = pjfs + 2;
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-            
-          //预测风速min
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){                   	
-                    	if(ycfs==0){
-                    		ycfsMin = ycfs;
-                    	}else{
-                    		ycfsMin = ycfs - 2;
-                    	}
-                    }
-                }else{
-                	if(ycfs==0){
-                		ycfsMin = ycfs;
-                	}else{
-                		ycfsMin = ycfs - 2;
-                	}
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-            
-          //预测风速max
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){
-                    	ycfsMax = ycfs + 2;
-                    }
-                }else{
-                	ycfsMax = ycfs + 2;
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-
-            try{
-                //实际功率
-                PointData sjgl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SJGL).getCode());
-				pointDataMap.put("sjgl_real",sjgl_real);
-                sjgl = new BigDecimal(sjgl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
-            }catch (Exception e){
-                //System.out.println(e.getMessage());
-            }
-            
-          //实际功率min
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){                 	
-                    	if(sjgl==0){
-                    		sjglMin = sjgl;
-                    	}else{
-                    		sjglMin = sjgl - 2;
-                    	}
-                    }
-                }else{
-                	if(sjgl==0){
-                		sjglMin = sjgl;
-                	}else{
-                		sjglMin = sjgl - 2;
-                	}
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-            
-          //实际功率max
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){
-                    	sjglMax = sjgl + 2;
-                    }
-                }else{
-                	sjglMax = sjgl + 2;
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-            
-            try{
-                //理论功率
-                PointData llgl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_ZLLGL).getCode());
-                //llgl = new BigDecimal(swdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
-				pointDataMap.put("llgl_real",llgl_real);
-				llgl =new BigDecimal(llgl_real.getPointValueInDouble()).divide(new BigDecimal(1000), decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
 
-			}catch (Exception e){
-                //System.out.println(e.getMessage());
-            }
-            
-          //理论功率min
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){                   	
-                    	if(llgl==0){
-                    		llglMin = llgl;
-                    	}else{
-                    		llglMin = llgl - 2;
-                    	}
-                    }
-                }else{
-                	if(llgl==0){
-                		llglMin = llgl;
-                	}else{
-                		llglMin = llgl - 2;
-                	}
-                }
-				//llglMin =new BigDecimal(llglMin).divide(new BigDecimal(1000), decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
 
-			}
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-            
-          //理论功率max
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){
-                    	llglMax = llgl + 2;
-                    }
-                }else{
-                	llglMax = llgl + 2;
-                }
-
-
-//				llglMax =new BigDecimal(llglMax).divide(new BigDecimal(1000), decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
-
-
-                      
-            pointDataMap.put("pjfs",pjfs);
-            pointDataMap.put("pjfsMin",pjfsMin);
-            pointDataMap.put("pjfsMax",pjfsMax);
-            pointDataMap.put("ycfs",ycfs);
-            pointDataMap.put("ycfsMin",ycfsMin);
-            pointDataMap.put("ycfsMax",ycfsMax);
-            pointDataMap.put("sjgl",sjgl);
-            pointDataMap.put("sjglMin",sjglMin);
-            pointDataMap.put("sjglMax",sjglMax);
-            pointDataMap.put("llgl",llgl);
-            pointDataMap.put("llglMin",llglMin);
-            pointDataMap.put("llglMax",llglMax);
-            windpowerstationpointDataMap.put(windpowerstation.getId(),pointDataMap);
-        }
-        this.pushToWeb("pageNumber_6","functionNumber_2","all",windpowerstationpointDataMap, Messagetype.MESSAGE);
 	}
 	
 	public void index_windturbine_status() throws Exception{

+ 190 - 127
src/main/java/com/gyee/frame/service/app/targetdetail/TargetdetailService.java

@@ -9,6 +9,7 @@ import com.gyee.frame.netty.websocket.util.SocketToolService;
 import com.gyee.frame.service.WeatherfdService;
 import com.gyee.frame.service.WeatherfhService;
 import com.gyee.frame.service.WindpowerinfodayService;
+import com.gyee.frame.service.app.index.FocastpowerService;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.RealTimeDataBaseFactory;
@@ -38,6 +39,8 @@ public class TargetdetailService extends SocketToolService {
     private WeatherfhService weatherfhService;
     @Resource
     private WindpowerinfodayService windpowerinfodayService;
+    @Resource
+    private FocastpowerService focastpowerService;
     public static Map<String,String> targetdetail_target_pointMap = new HashMap<>();
     public static Map<String,String> targetdetail_curve_pointMap = new HashMap<>();
     public static Map<String,String> targetdetail_histogram_pointMap = new HashMap<>();
@@ -147,120 +150,196 @@ public class TargetdetailService extends SocketToolService {
         this.pushToWeb("pageNumber_8","functionNumber_1","all",pointDataMap, Messagetype.MESSAGE);
     }
 
-    public void targetdetail_curve() throws Exception {
-        Set set = targetdetail_curve_pointMap.keySet();
-        Iterator<String>  it =  set.iterator();
-        Map<String,List<PointData>> pointDataMap = new HashMap();
-        while(it.hasNext()) {
-            String ip = it.next();
+//    public void targetdetail_curve() throws Exception {
+//        Set set = targetdetail_curve_pointMap.keySet();
+//        Iterator<String>  it =  set.iterator();
+//        Map<String,List<PointData>> pointDataMap = new HashMap();
+//        while(it.hasNext()) {
+//            String ip = it.next();
+//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
+//            Date nowTime = DateUtils.getNowDate();
+//            Date endTime = sdf.parse(sdf.format(nowTime));
+//            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+//            Date beginTime = sdf1.parse(sdf1.format(nowTime));
+//
+//            String pointid=targetdetail_curve_pointMap.get(ip);
+//            if(pointid.indexOf("ora_")!=-1)
+//            {
+//                pointid=pointid.substring(4);
+//                String []temp=pointid.split("_");
+//                if(temp.length==2)
+//                {
+//                    String id=temp[0];
+//                    String wpid=temp[1];
+//
+//                    if(id.equals("ycfs"))
+//                    {
+//                        setDayValues(pointDataMap, ip, id, wpid);
+//                    }else {
+//                        set7DayValues(pointDataMap, ip, id, wpid);
+//                    }
+//                }
+//
+//            }else if(pointid.indexOf("divq")!=-1)
+//            {
+//                pointid=pointid.substring(5);
+//                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+//                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+//                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+//                        (long) count+1, 3600L);
+//                for (int i = 0; i < ls.size(); i++) {
+//                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+//                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
+//                    ls.get(i).setPointValueInDouble(temp);
+//                }
+//                if(ls.size()>0) {
+//                    ls.remove(0);
+//                }
+//                pointDataMap.put(ip,ls);
+//
+//            }else if(pointid.indexOf("divw")!=-1)
+//            {
+//                pointid=pointid.substring(5);
+//                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+//                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+//                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+//                        (long) count+1, 3600L);
+//                for (int i = 0; i < ls.size(); i++) {
+//                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+//                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+//                    ls.get(i).setPointValueInDouble(temp);
+//                }
+//                if(ls.size()>0) {
+//                    ls.remove(0);
+//                }
+//                pointDataMap.put(ip,ls);
+//
+//            }else
+//            {
+//                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+//                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+//                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+//                        (long) count+1, 3600L);
+//                for (int i = 0; i < ls.size(); i++) {
+//                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+//                    ls.get(i).setPointValueInDouble(this.decimal(2,ls.get(i).getPointValueInDouble()));
+//                }
+//                if(ls.size()>0) {
+//                    ls.remove(0);
+//                }
+//                pointDataMap.put(ip,ls);
+//            }
+//
+//        }
+///*        if (!ls.isEmpty()) {
+//            ls.forEach(obj -> //System.out.println(obj.getEdnaId() + "___" +obj.getPointTime() + "___" + obj.getPointValueInDouble()));
+//        }
+//        for(PointData obj:ls){
+//            //System.out.println(obj.getEdnaId() + "___" +obj.getPointTime() + "___" + obj.getPointValueInDouble());
+//        }*/
+//        this.pushToWeb("pageNumber_8","functionNumber_2","all",pointDataMap, Messagetype.MESSAGE);
+//    }
+
+
+    public List<PointData> targetdetail_curve(String pointid) throws Exception {
+
+
+            List<PointData> vos=new ArrayList<>();
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
             Date nowTime = DateUtils.getNowDate();
             Date endTime = sdf.parse(sdf.format(nowTime));
             SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
             Date beginTime = sdf1.parse(sdf1.format(nowTime));
 
-            String pointid=targetdetail_curve_pointMap.get(ip);
-            if(pointid.indexOf("ora_")!=-1)
-            {
-                pointid=pointid.substring(4);
-                String []temp=pointid.split("_");
-                if(temp.length==2)
-                {
-                    String id=temp[0];
-                    String wpid=temp[1];
-
-                    if(id.equals("ycfs"))
-                    {
-                        setDayValues(pointDataMap, ip, id, wpid);
-                    }else {
-                        set7DayValues(pointDataMap, ip, id, wpid);
-                    }
-                }
-
-            }else if(pointid.indexOf("divq")!=-1)
-            {
-                pointid=pointid.substring(5);
-                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
-                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
-                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
-                        (long) count+1, 3600L);
-                for (int i = 0; i < ls.size(); i++) {
-                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
-                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
-                    ls.get(i).setPointValueInDouble(temp);
-                }
-                if(ls.size()>0) {
-                    ls.remove(0);
-                }
-                pointDataMap.put(ip,ls);
 
-            }else if(pointid.indexOf("divw")!=-1)
+        if(pointid.indexOf("ora_")!=-1)
+        {
+            pointid=pointid.substring(4);
+            String []temp=pointid.split(",");
+            if(temp.length==2)
             {
-                pointid=pointid.substring(5);
-                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
-                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
-                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
-                        (long) count+1, 3600L);
-                for (int i = 0; i < ls.size(); i++) {
-                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
-                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
-                    ls.get(i).setPointValueInDouble(temp);
-                }
-                if(ls.size()>0) {
-                    ls.remove(0);
-                }
-                pointDataMap.put(ip,ls);
+                String id=temp[0];
+                String wpid=temp[1];
 
-            }else
-            {
-                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
-                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
-                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
-                        (long) count+1, 3600L);
-                for (int i = 0; i < ls.size(); i++) {
-                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
-                    ls.get(i).setPointValueInDouble(this.decimal(2,ls.get(i).getPointValueInDouble()));
-                }
-                if(ls.size()>0) {
-                    ls.remove(0);
+                if(id.equals("ycfs"))
+                {
+                    vos=setDayValues( id, wpid);
+                }else {
+                    vos=set7DayValues(id, wpid);
                 }
-                pointDataMap.put(ip,ls);
             }
 
+        }else if(pointid.indexOf("divq")!=-1)
+        {
+            pointid=pointid.substring(5);
+            Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+            List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+                    beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                    (long) count+1, 3600L);
+            for (int i = 0; i < ls.size(); i++) {
+                ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+                double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                ls.get(i).setPointValueInDouble(temp);
+            }
+            if(ls.size()>0) {
+                ls.remove(0);
+            }
+            vos=ls;
+
+        }else if(pointid.indexOf("divw")!=-1)
+        {
+            pointid=pointid.substring(5);
+            Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+            List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+                    beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                    (long) count+1, 3600L);
+            for (int i = 0; i < ls.size(); i++) {
+                ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+                double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                ls.get(i).setPointValueInDouble(temp);
+            }
+            if(ls.size()>0) {
+                ls.remove(0);
+            }
+            vos=ls;
+
+        }else
+        {
+            Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+            List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+                    beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                    (long) count+1, 3600L);
+            for (int i = 0; i < ls.size(); i++) {
+                ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+                ls.get(i).setPointValueInDouble(this.decimal(2,ls.get(i).getPointValueInDouble()));
+            }
+            if(ls.size()>0) {
+                ls.remove(0);
+            }
+            vos=ls;
         }
-/*        if (!ls.isEmpty()) {
-            ls.forEach(obj -> //System.out.println(obj.getEdnaId() + "___" +obj.getPointTime() + "___" + obj.getPointValueInDouble()));
-        }
-        for(PointData obj:ls){
-            //System.out.println(obj.getEdnaId() + "___" +obj.getPointTime() + "___" + obj.getPointValueInDouble());
-        }*/
-        this.pushToWeb("pageNumber_8","functionNumber_2","all",pointDataMap, Messagetype.MESSAGE);
+        return vos;
     }
 
-    public void targetdetail_histogram() throws Exception {
+    public List<PointData> targetdetail_histogram(String pointid) throws Exception {
 
 
-        Set set = targetdetail_histogram_pointMap.keySet();
-        Iterator<String>  it =  set.iterator();
-        Map<String,List<PointData>> pointDataMap = new HashMap();
-        while(it.hasNext()) {
-            String ip = it.next();
+            List<PointData> vos=new ArrayList<>();
             Date nowTime = DateUtils.getNowDate();
             SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
             Date endTime = sdf1.parse(sdf1.format(nowTime));
             Date beginTime = DateUtils.addDays(endTime, -7);
 
-            String pointid=targetdetail_histogram_pointMap.get(ip);
             if(pointid.indexOf("ora_")!=-1)
             {
                 pointid=pointid.substring(4);
-                String []temp=pointid.split("_");
+                String []temp=pointid.split(",");
                 if(temp.length==2)
                 {
                     String id=temp[0];
                     String wpid=temp[1];
 
-                    set7DayValues(pointDataMap, ip, id, wpid);
+                   vos=set7DayValues(id, wpid);
                 }
 
             }else if(pointid.indexOf("divq")!=-1)
@@ -277,7 +356,7 @@ public class TargetdetailService extends SocketToolService {
                 if(ls.size()>0) {
                     ls.remove(0);
                 }
-                pointDataMap.put(ip,ls);
+                vos=ls;
 
             }else if(pointid.indexOf("divw")!=-1)
             {
@@ -293,7 +372,7 @@ public class TargetdetailService extends SocketToolService {
                 if(ls.size()>0) {
                     ls.remove(0);
                 }
-                pointDataMap.put(ip,ls);
+                vos=ls;
 
             }else
             {
@@ -307,42 +386,21 @@ public class TargetdetailService extends SocketToolService {
                 if(ls.size()>0) {
                     ls.remove(0);
                 }
-                pointDataMap.put(ip,ls);
+                vos=ls;
             }
 
-        }
-
-        /*if (!ls.isEmpty()) {
-            ls.forEach(obj -> //System.out.println(obj.getEdnaId() + "___" +obj.getPointTime() + "___" + obj.getPointValueInDouble()));
-        }*/
-        this.pushToWeb("pageNumber_8","functionNumber_3","all",pointDataMap, Messagetype.MESSAGE);
+       return vos;
     }
 
-    private void set7DayValues(Map<String, List<PointData>> pointDataMap, String ip, String id, String wpid) throws ParseException {
+    private List<PointData> set7DayValues(String id, String wpid) throws ParseException {
+        List<PointData> vos=new ArrayList<>();
         switch (id) {
             case "ycfs":
-                if(wpid.equals("0"))
-                {
-                    wpid="MHS_FDC";
-                }
-                List<Weatherfd> list=weatherfdService.list7Day(wpid);
-                List<PointData> vos=new ArrayList<>();
-                if(!list.isEmpty())
-                {
-                    for (Weatherfd fd:list)
-                    {
-                        PointData vo=new PointData();
-                        vo.setPointTime(fd.getRecodedata().getTime());
-                        vo.setPointValueInDouble(fd.getSpeed1());
-                        vos.add(vo);
-                    }
-
-                }
-                pointDataMap.put(ip, vos);
+                vos=focastpowerService.focastspeed7day(wpid);;
                 break;
             case "ylyxs":
                 List<Windpowerinfoday> wdls=windpowerinfodayService.listBy7Date(wpid);;
-                List<PointData> vos1=new ArrayList<>();
+
                 if(!wdls.isEmpty())
                 {
                     for (Windpowerinfoday fd:wdls)
@@ -350,15 +408,14 @@ public class TargetdetailService extends SocketToolService {
                         PointData vo=new PointData();
                         vo.setPointTime(fd.getRecorddate().getTime());
                         vo.setPointValueInDouble(fd.getMonthlyxs());
-                        vos1.add(vo);
+                        vos.add(vo);
                     }
 
                 }
-                pointDataMap.put(ip, vos1);
                 break;
             case "nlyxs":
                 List<Windpowerinfoday> wdls2=windpowerinfodayService.listBy7Date(wpid);;
-                List<PointData> vos2=new ArrayList<>();
+
                 if(!wdls2.isEmpty())
                 {
                     for (Windpowerinfoday fd:wdls2)
@@ -366,15 +423,14 @@ public class TargetdetailService extends SocketToolService {
                         PointData vo=new PointData();
                         vo.setPointTime(fd.getRecorddate().getTime());
                         vo.setPointValueInDouble(fd.getYearlyxs());
-                        vos2.add(vo);
+                        vos.add(vo);
                     }
 
                 }
-                pointDataMap.put(ip, vos2);
                 break;
             case "zhcydl":
                 List<Windpowerinfoday> wdls3=windpowerinfodayService.listBy7Date(wpid);;
-                List<PointData> vos3=new ArrayList<>();
+
                 if(!wdls3.isEmpty())
                 {
                     for (Windpowerinfoday fd:wdls3)
@@ -382,15 +438,14 @@ public class TargetdetailService extends SocketToolService {
                         PointData vo=new PointData();
                         vo.setPointTime(fd.getRecorddate().getTime());
                         vo.setPointValueInDouble(fd.getMonthzhcydl());
-                        vos3.add(vo);
+                        vos.add(vo);
                     }
 
                 }
-                pointDataMap.put(ip, vos3);
                 break;
             case "sbklyl":
                 List<Windpowerinfoday> wdls4=windpowerinfodayService.listBy7Date(wpid);;
-                List<PointData> vos4=new ArrayList<>();
+
                 if(!wdls4.isEmpty())
                 {
                     for (Windpowerinfoday fd:wdls4)
@@ -398,19 +453,25 @@ public class TargetdetailService extends SocketToolService {
                         PointData vo=new PointData();
                         vo.setPointTime(fd.getRecorddate().getTime());
                         vo.setPointValueInDouble(fd.getMonthsbklyl());
-                        vos4.add(vo);
+                        vos.add(vo);
                     }
 
                 }
-                pointDataMap.put(ip, vos4);
                 break;
+            case "ycfdl":
+
 
+                vos=focastpowerService.focastpower7day(wpid);;
+
+                break;
             default:
                 break;
         }
+        return  vos;
     }
 
-    private void setDayValues(Map<String, List<PointData>> pointDataMap, String ip, String id, String wpid) throws ParseException {
+    private List<PointData> setDayValues(String id, String wpid) throws ParseException {
+        List<PointData> vos=new ArrayList<>();
         switch (id) {
             case "ycfs":
                 if(wpid.equals("0"))
@@ -418,7 +479,7 @@ public class TargetdetailService extends SocketToolService {
                     wpid="MHS_FDC";
                 }
                 List<Weatherfh> list=weatherfhService.listDayHour(wpid);
-                List<PointData> vos=new ArrayList<>();
+
                 if(!list.isEmpty())
                 {
                     for (Weatherfh fh:list)
@@ -430,11 +491,13 @@ public class TargetdetailService extends SocketToolService {
                     }
 
                 }
-                pointDataMap.put(ip, vos);
+
                 break;
 
             default:
                 break;
         }
+
+        return vos;
     }
 }

+ 8 - 14
src/main/java/com/gyee/frame/service/app/windpowerstationdetail/WindpowerstationdetailService.java

@@ -8,8 +8,10 @@ import com.gyee.frame.model.auto.Windpowerstation;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.model.enumeration.Messagetype;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.ForecastPowerService;
 import com.gyee.frame.service.MttrAndMtbfService;
 import com.gyee.frame.service.WindpowerinfodayService;
+import com.gyee.frame.service.app.index.FocastpowerService;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.RealTimeDataBaseFactory;
 import com.gyee.frame.util.StringUtils;
@@ -34,7 +36,9 @@ public class WindpowerstationdetailService extends SocketToolService {
     @Autowired
     private InitialRunner initialRunner;
     @Resource
-    MttrAndMtbfService mttrAndMtbfService;
+    private MttrAndMtbfService mttrAndMtbfService;
+    @Resource
+    private FocastpowerService focastpowerService;
     private static int decimal_digit = 0;
     @Resource
     private WindpowerinfodayService windpowerinfodayService;
@@ -86,19 +90,9 @@ public class WindpowerstationdetailService extends SocketToolService {
             }
 
             //预测发电量
-            try{
-                if(windpowerstation.getId().equalsIgnoreCase("0")){
-                    List<Windpowerstation> wps = InitialRunner.wpls;
-                    for(Windpowerstation windpowerstationinner:wps){
-                        ycfdl = ycfdl + 12;
-                    }
-                }else{
-                    ycfdl = 6;
-                }
-            }
-            catch(Exception e){
-                System.out.printf(e.getMessage());
-            }
+            ycfdl=focastpowerService.focastpower(windpowerstation.getId());
+            ycfdl =Double.valueOf( String.format("%.2f", ycfdl));
+
 
             //装机容量
             try{

+ 33 - 23
src/main/java/com/gyee/frame/service/app/windpowerstationdetail/Windspeedpowermodule.java

@@ -9,6 +9,7 @@ import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.model.enumeration.Messagetype;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
 import com.gyee.frame.service.WeatherfhService;
+import com.gyee.frame.service.app.index.FocastpowerService;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.RealTimeDataBaseFactory;
@@ -27,7 +28,8 @@ public class Windspeedpowermodule extends SocketToolService {
     @Autowired
     private InitialRunner initialRunner;
     private static int decimal_digit = 0;
-
+    @Resource
+    private FocastpowerService focastpowerService;
     @Resource
     private WeatherfhService weatherfhService;
 
@@ -100,29 +102,37 @@ public class Windspeedpowermodule extends SocketToolService {
 
 
             //预测风速****************************************************************
-            List<Weatherfh> list=weatherfhService.listDayHour(windpowerstation.getId());
-
-            if(!list.isEmpty())
-            {
-                // 平均数
-//                ycfs = list.stream().mapToDouble(Weatherfh::getSpeed).average().getAsDouble();
-                // 当前值数
-                ycfs = list.get(list.size()-1).getSpeed();
-                ycfs= StringUtils.round(ycfs,2);
-                //System.out.println("average:" + ycfs);
 
-
-                // 最大值
-                ycfsMax = list.stream().mapToDouble(Weatherfh::getSpeed).max().getAsDouble();
-                ycfsMax= StringUtils.round(ycfsMax,2);
-                //System.out.println("max:" + ycfsMax);
-
-                // 最小值
-                ycfsMin = list.stream().mapToDouble(Weatherfh::getSpeed).min().getAsDouble();
-                ycfsMin= StringUtils.round(ycfsMin,2);
-                //System.out.println("min:" + ycfsMin);
-
-            }
+            ycfs=focastpowerService.focastspeed(windpowerstation.getId());
+            ycfs =Double.valueOf( String.format("%.2f", ycfs));
+
+            ycfsMin=0.0;
+            ycfsMax=Double.valueOf( String.format("%.2f", ycfs*1.2));
+
+//            List<Weatherfh> list=weatherfhService.listDayHour(windpowerstation.getId());
+//
+//
+//            if(!list.isEmpty())
+//            {
+//                // 平均数
+////                ycfs = list.stream().mapToDouble(Weatherfh::getSpeed).average().getAsDouble();
+//                // 当前值数
+//                ycfs = list.get(list.size()-1).getSpeed();
+//                ycfs= StringUtils.round(ycfs,2);
+//                //System.out.println("average:" + ycfs);
+//
+//
+//                // 最大值
+//                ycfsMax = list.stream().mapToDouble(Weatherfh::getSpeed).max().getAsDouble();
+//                ycfsMax= StringUtils.round(ycfsMax,2);
+//                //System.out.println("max:" + ycfsMax);
+//
+//                // 最小值
+//                ycfsMin = list.stream().mapToDouble(Weatherfh::getSpeed).min().getAsDouble();
+//                ycfsMin= StringUtils.round(ycfsMin,2);
+//                //System.out.println("min:" + ycfsMin);
+//
+//            }
 
             //实际风功****************************************************************
 

+ 93 - 0
src/main/java/com/gyee/frame/util/ResponseWrapper.java

@@ -0,0 +1,93 @@
+package com.gyee.frame.util;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Collection;
+
+/**
+ * @description:
+ * @author: try
+ * @create: 2018-11-08 15:02
+ */
+@Data
+public class ResponseWrapper<T> implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Boolean success;
+    private Integer status;
+    private Integer count;
+    private String msg;
+    private T data;
+    private static final int STATUS_SUCCESS = 20000;
+    private static final int STATUS_ERROR = 50000;
+    public static final int STATUS_ERROR_SYSTEM = 50100;
+
+    public ResponseWrapper() {
+    }
+
+    private ResponseWrapper(Boolean success, Integer status, Integer count, String msg, Class entityType, T data) {
+        this.success = success;
+        this.status = status;
+        this.count = count;
+        this.msg = msg;
+        this.data = data;
+    }
+
+    private ResponseWrapper(Boolean success, Integer status, Integer count, String msg, T data) {
+        this.success = success;
+        this.status = status;
+        this.count = count;
+        this.msg = msg;
+        this.data = data;
+    }
+
+    public static ResponseWrapper success(int count, String msg, Object data) {
+        if (data != null) {
+            return data instanceof Collection ? new ResponseWrapper(true, 20000, ((Collection)data).size(), msg, data) : new ResponseWrapper(true, 20000, count, msg, data);
+        } else {
+            return count == -1 ? new ResponseWrapper(true, 20000, -1, msg, msg) : new ResponseWrapper(true, 20000, count, msg, count);
+        }
+    }
+
+    public static ResponseWrapper success(String msg, int count, Object data) {
+        return new ResponseWrapper(true, 20000, count, msg, data);
+    }
+
+    public static ResponseWrapper success(int count, String msg) {
+        return success(count, msg, (Object)null);
+    }
+
+    public static ResponseWrapper success(int count) {
+        return success(count, "count");
+    }
+
+    public static ResponseWrapper success(String msg) {
+        return success(-1, msg);
+    }
+
+    public ResponseWrapper<T> success(T data) {
+        this.data = data;
+        return this;
+    }
+
+    public static ResponseWrapper success(String msg, Object data) {
+        return success(1, msg, data);
+    }
+
+    public static ResponseWrapper error(String msg, Object data, int status) {
+        return new ResponseWrapper(false, status, 0, msg, data.getClass(), data);
+    }
+
+    public static ResponseWrapper error(String msg, Object data) {
+        return new ResponseWrapper(false, 50000, 0, msg, data.getClass(), data);
+    }
+
+    public static ResponseWrapper error(String msg, int status) {
+        return new ResponseWrapper(false, status, -1, msg, String.class, msg);
+    }
+
+    public static ResponseWrapper error(String msg) {
+        return error(msg, 50000);
+    }
+
+
+}

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

@@ -39,20 +39,20 @@
             <!-- 格式化XML代码 -->
             <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
         </commentGenerator>
-        <!-- 数据库链接地址账号密码
+        <!-- 数据库链接地址账号密码 -->
         <jdbcConnection
                 driverClass="oracle.jdbc.driver.OracleDriver"
                 connectionURL="jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd"
                 userId="nxfdprod"
                 password="gdnxfd123">
         </jdbcConnection>
-        -->
-        <jdbcConnection
-                driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
-                connectionURL="jdbc:sqlserver://10.155.32.2:1433;DatabaseName=test"
-                userId="sa"
-                password="Gyee@321#!">
-        </jdbcConnection>
+
+<!--        <jdbcConnection-->
+<!--                driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"-->
+<!--                connectionURL="jdbc:sqlserver://10.155.32.2:1433;DatabaseName=test"-->
+<!--                userId="sa"-->
+<!--                password="Gyee@321#!">-->
+<!--        </jdbcConnection>-->
         <javaTypeResolver>
             <property name="forceBigDecimals" value="false"/>
         </javaTypeResolver>
@@ -90,7 +90,7 @@
             <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
         </table>-->
         
-        <table tableName='GYEEBRACELETUSER' domainObjectName='GyeeBraceletuser'/>
+        <table tableName='windturbinepowercurvefitting' domainObjectName='Windturbinepowercurvefitting'/>
 
     </context>
 </generatorConfiguration>

+ 14 - 0
src/main/resources/mybatis/auto/ShbraceletMapper.xml

@@ -0,0 +1,14 @@
+<?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.ShbraceletMapper">
+    <insert id="saveShbracelet" parameterType="com.gyee.frame.model.auto.Shbracelet" >
+        <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
+            SELECT NXFD_SEQ_SHBRACELET.CURRVAL AS ID FROM DUAL
+        </selectKey>
+        insert into SHBRACELET (ID, DEVICENAME,DEVICENO ,USRING, UPDATATIME)
+        values (#{id,jdbcType=INTEGER}, #{devicename,jdbcType=VARCHAR}, #{deviceno,jdbcType=VARCHAR},#{usring,jdbcType=VARCHAR},#{updatatime,jdbcType=TIMESTAMP})
+    </insert>
+    <select id="selectShbraceletNotUringOne" resultType="com.gyee.frame.model.auto.Shbracelet">
+        select * from  Shbracelet where  rownum=1 and usring=0 order by id asc
+    </select>
+</mapper>

+ 0 - 316
src/main/resources/mybatis/auto/ShbraceletpointMapper.xml

@@ -1,316 +0,0 @@
-<?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.ShbraceletpointMapper">
-  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Shbraceletpoint">
-    <result column="id" jdbcType="VARCHAR" property="id" />
-    <result column="key" jdbcType="VARCHAR" property="key" />
-    <result column="value" jdbcType="VARCHAR" property="value" />
-    <result column="ts" jdbcType="BIGINT" property="ts" />
-    <result column="status" jdbcType="VARCHAR" property="status" />
-    <result column="type" jdbcType="VARCHAR" property="type" />
-    <result column="time" jdbcType="VARCHAR" property="time" />
-    <result column="describe" jdbcType="VARCHAR" property="describe" />
-  </resultMap>
-  <sql id="Example_Where_Clause">
-    <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">
-    <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">
-	  	  	      	id,
-       	  	      	key,
-       	  	      	value,
-       	  	      	ts,
-       	  	      	status,
-       	  	      	type,
-       	  	      	time,
-       	  	    	describe
-       	</sql>
-  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.ShbraceletpointExample" resultMap="BaseResultMap">
-    select
-    <if test="distinct">
-      distinct
-    </if>
-    <include refid="Base_Column_List" />
-    from shbraceletpoint
-    <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">
-    select 
-    <include refid="Base_Column_List" />
-    from shbraceletpoint
-    where id = #{id,jdbcType=VARCHAR}
-  </select>
-
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
-    delete from shbraceletpoint
-    where id = #{id,jdbcType=VARCHAR}
-  </delete>
-  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.ShbraceletpointExample">
-    delete from shbraceletpoint
-    <if test="_parameter != null">
-      <include refid="Example_Where_Clause" />
-    </if>
-  </delete>
-  
-  <insert id="insert" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
-    insert into shbraceletpoint (
-      	  	       id,
-       	  	       key,
-       	  	       value,
-       	  	       ts,
-       	  	       status,
-       	  	       type,
-       	  	       time,
-       	  	    	  describe
-       	    )
-    values (
-	  	  	      	#{id,jdbcType=VARCHAR},
-       	  	      	#{key,jdbcType=VARCHAR},
-       	  	      	#{value,jdbcType=VARCHAR},
-       	  	      	#{ts,jdbcType=BIGINT},
-       	  	      	#{status,jdbcType=VARCHAR},
-       	  	      	#{type,jdbcType=VARCHAR},
-       	  	      	#{time,jdbcType=VARCHAR},
-       	  	    	  #{describe,jdbcType=VARCHAR}
-       	    )
-  </insert>
-  
-  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
-    insert into shbraceletpoint
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-          
-      <if test="id != null">
-        id,
-      </if>
-      
-         
-      <if test="key != null">
-        key,
-      </if>
-      
-         
-      <if test="value != null">
-        value,
-      </if>
-      
-         
-      <if test="ts != null">
-        ts,
-      </if>
-      
-         
-      <if test="status != null">
-        status,
-      </if>
-      
-         
-      <if test="type != null">
-        type,
-      </if>
-      
-         
-      <if test="time != null">
-        time,
-      </if>
-      
-         
-      <if test="describe != null">
-        describe,
-      </if>
-      
-         </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-          <if test="id != null">
-        #{id,jdbcType=VARCHAR},
-      </if>
-          <if test="key != null">
-        #{key,jdbcType=VARCHAR},
-      </if>
-          <if test="value != null">
-        #{value,jdbcType=VARCHAR},
-      </if>
-          <if test="ts != null">
-        #{ts,jdbcType=BIGINT},
-      </if>
-          <if test="status != null">
-        #{status,jdbcType=VARCHAR},
-      </if>
-          <if test="type != null">
-        #{type,jdbcType=VARCHAR},
-      </if>
-          <if test="time != null">
-        #{time,jdbcType=VARCHAR},
-      </if>
-          <if test="describe != null">
-        #{describe,jdbcType=VARCHAR},
-      </if>
-        </trim>
-  </insert>
-  
-  <select id="countByExample" parameterType="com.gyee.frame.model.auto.ShbraceletpointExample" resultType="java.lang.Long">
-    select count(*) from shbraceletpoint
-    <if test="_parameter != null">
-      <include refid="Example_Where_Clause" />
-    </if>
-  </select>
-  
-  <update id="updateByExampleSelective" parameterType="map">
-    update shbraceletpoint
-    <set>
-          <if test="record.id != null">
-        id = #{record.id,jdbcType=VARCHAR},
-      </if>
-          <if test="record.key != null">
-        key = #{record.key,jdbcType=VARCHAR},
-      </if>
-          <if test="record.value != null">
-        value = #{record.value,jdbcType=VARCHAR},
-      </if>
-          <if test="record.ts != null">
-        ts = #{record.ts,jdbcType=BIGINT},
-      </if>
-          <if test="record.status != null">
-        status = #{record.status,jdbcType=VARCHAR},
-      </if>
-          <if test="record.type != null">
-        type = #{record.type,jdbcType=VARCHAR},
-      </if>
-          <if test="record.time != null">
-        time = #{record.time,jdbcType=VARCHAR},
-      </if>
-          <if test="record.describe != null">
-        describe = #{record.describe,jdbcType=VARCHAR},
-      </if>
-         
-    </set>
-    <if test="_parameter != null">
-      <include refid="Update_By_Example_Where_Clause" />
-    </if>
-  </update>
-  
-  
-  <update id="updateByExample" parameterType="map">
-    update shbraceletpoint
-    set
-            	     	 id = #{record.id,jdbcType=VARCHAR},
-    	         	     	 key = #{record.key,jdbcType=VARCHAR},
-    	         	     	 value = #{record.value,jdbcType=VARCHAR},
-    	         	     	 ts = #{record.ts,jdbcType=BIGINT},
-    	         	     	 status = #{record.status,jdbcType=VARCHAR},
-    	         	     	 type = #{record.type,jdbcType=VARCHAR},
-    	         	     	 time = #{record.time,jdbcType=VARCHAR},
-    	         	     	 describe = #{record.describe,jdbcType=VARCHAR}
-    	         <if test="_parameter != null">
-      <include refid="Update_By_Example_Where_Clause" />
-    </if>
-  </update>
-  
-  
-      <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
-    update shbraceletpoint
-    <set>
-                          <if test="key != null">
-        key = #{key,jdbcType=VARCHAR},
-      </if>
-                      <if test="value != null">
-        value = #{value,jdbcType=VARCHAR},
-      </if>
-                      <if test="ts != null">
-        ts = #{ts,jdbcType=BIGINT},
-      </if>
-                      <if test="status != null">
-        status = #{status,jdbcType=VARCHAR},
-      </if>
-                      <if test="type != null">
-        type = #{type,jdbcType=VARCHAR},
-      </if>
-                      <if test="time != null">
-        time = #{time,jdbcType=VARCHAR},
-      </if>
-                      <if test="describe != null">
-        describe = #{describe,jdbcType=VARCHAR},
-      </if>
-              </set>
-    where 
-            id = #{id,jdbcType=VARCHAR}
-                                                                  
-  </update>
-
-      	      	   	      	   	      	   	      	   	      	   	      	   	      	   	      	
-
-  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
-    update shbraceletpoint
-    set 
-             	        	    	 			key = #{key,jdbcType=VARCHAR},
-		     	        	    	 			value = #{value,jdbcType=VARCHAR},
-		     	        	    	 			ts = #{ts,jdbcType=BIGINT},
-		     	        	    	 			status = #{status,jdbcType=VARCHAR},
-		     	        	    	 			type = #{type,jdbcType=VARCHAR},
-		     	        	    	 			time = #{time,jdbcType=VARCHAR},
-		     	        	    	 			describe = #{describe,jdbcType=VARCHAR}
-		     	        where 
-            id = #{id,jdbcType=VARCHAR}
-                                                                    
-  </update>
-  
-                                            
-</mapper>

+ 30 - 0
src/main/resources/mybatis/auto/ShbraceletpointkeyMapper.xml

@@ -0,0 +1,30 @@
+<?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.ShbraceletpointkeyMapper">
+
+    <insert id="saveShbraceletpointkey" parameterType="com.gyee.frame.model.auto.Shbraceletpointkey" >
+        <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
+            SELECT NXFD_SEQ_SHBRACELETPOINTKEY.CURRVAL AS ID FROM DUAL
+        </selectKey>
+        insert into SHBRACELETPOINTKEY (ID, POINTKEY, DEVICEID, CREATETIME)
+        values (#{id,jdbcType=INTEGER}, #{pointkey,jdbcType=VARCHAR}, #{deviceid,jdbcType=VARCHAR},#{createtime,jdbcType=TIMESTAMP})
+    </insert>
+    <select id="selectPointkeyByUserId" parameterType="java.lang.Long" resultType="com.gyee.frame.model.auto.Shbraceletpointkey">
+        select s.* from SHBRACELETPOINTKEY s,SHBRUSER a, SHBRACELETUSER b
+        <where>
+            a.ID=b.USERID and b.DEVICEID=s.DEVICEID
+            <if test="userid !=null and userid !=0">
+                and a.ID=#{userid}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectPointkeyByDeviceid" parameterType="java.lang.Long" resultType="com.gyee.frame.model.auto.Shbraceletpointkey">
+        select s.* from SHBRACELETPOINTKEY s
+        <where>
+            <if test="deviceid !=null and deviceid !=0">
+                s.DEVICEID=#{deviceid}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 63 - 0
src/main/resources/mybatis/auto/ShbraceletuserMapper.xml

@@ -0,0 +1,63 @@
+<?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.ShbraceletuserMapper">
+    <insert id="saveShbraceletuser" parameterType="com.gyee.frame.model.auto.Shbraceletuser" >
+        <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
+            SELECT NXFD_SEQ_SHBRACELETUSER.CURRVAL AS ID FROM DUAL
+        </selectKey>
+        insert into SHBRACELETUSER (ID,DEVICEID,USERID, CREATETIME)
+        values (#{id,jdbcType=INTEGER},#{deviceid,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER},#{createtime,jdbcType=TIMESTAMP})
+    </insert>
+    <select id="selectRaceletuserUsring" parameterType="java.util.Map" resultType="com.gyee.frame.model.custom.BraceletUsringVo">
+        select a.ID as id,a.USERNAME as username,a.MOBILE as mobile ,a.IMG as img,w.ADDRESS as stationid,
+        b.DEVICEID  as deviceid,d.DEVICENO as deviceno ,d.DEVICENAME as devicename, d.USRING as usring ,d.UPDATATIME as updatatime
+        from  SHBRUSER a
+        left join  SHBRACELETUSER b on a.ID=b.USERID
+        left join  SHBRACELET d on b.DEVICEID= d.ID
+        left join  WINDPOWERSTATION w on w.id= a.stationid
+        <where>
+            1=1
+            <if test="userid !=null and userid !=0">
+                and a.ID=#{userid}
+            </if>
+            <if test="deviceid !=null and deviceid !=0">
+                and d.ID=#{userid}
+            </if>
+            <if test="stationid !=null and stationid !=''">
+                and a.STATIONID=#{stationid}
+            </if>
+        </where>
+        order by b.USERID  asc
+    </select>
+    <select id="selectPageRaceletuser" parameterType="java.util.Map" resultType="com.gyee.frame.model.custom.BraceletUsringVo">
+        select a.ID as id,a.USERNAME as username,a.MOBILE as mobile ,a.IMG as img,w.ADDRESS as stationid,
+        b.DEVICEID  as deviceid,d.DEVICENO as deviceno ,d.DEVICENAME as devicename, d.USRING as usring ,d.UPDATATIME as updatatime
+        from  SHBRUSER a
+        left join  SHBRACELETUSER b on a.ID=b.USERID
+        left join  SHBRACELET d on b.DEVICEID= d.ID
+        left join  WINDPOWERSTATION w on w.id= a.stationid
+        <where>
+            1=1
+            <if test="userid !=null and userid !=0">
+                and a.ID=#{userid}
+            </if>
+            <if test="deviceid !=null and deviceid !=0">
+                and d.ID=#{userid}
+            </if>
+            <if test="stationid !=null and stationid !=''">
+                and a.STATIONID=#{stationid}
+            </if>
+        </where>
+        order by a.ID  asc
+    </select>
+    <select id="selectRaceletuserUserList"  resultType="com.gyee.frame.model.custom.BraceletUsringVo">
+         select a.ID as id,a.USERNAME as username,a.MOBILE as mobile ,a.IMG as img,w.ADDRESS as stationid,
+            b.DEVICEID  as deviceid,d.DEVICENO as deviceno ,d.DEVICENAME as devicename, d.USRING as usring ,d.UPDATATIME as updatatime
+            from  SHBRUSER a  left join  SHBRACELETUSER b on a.ID=b.USERID
+            left join  SHBRACELET d on b.DEVICEID= d.ID
+            left join WINDPOWERSTATION w on w.id= a.stationid
+
+    </select>
+
+
+</mapper>

+ 12 - 0
src/main/resources/mybatis/auto/ShbruserMapper.xml

@@ -0,0 +1,12 @@
+<?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.ShbruserMapper">
+    <insert id="saveShbruser" parameterType="com.gyee.frame.model.auto.Shbruser" >
+        <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
+            SELECT NXFD_SEQ_SHBRUSER.CURRVAL AS ID FROM DUAL
+        </selectKey>
+        insert into SHBRUSER (ID, USERNAME, MOBILE,PASSWORD, SALT, IMG, STATIONID,CREATETIME)
+        values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR},
+        #{password,jdbcType=VARCHAR}, #{salt,jdbcType=VARCHAR}, #{img,jdbcType=VARCHAR},#{stationid,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP})
+    </insert>
+</mapper>

+ 303 - 0
src/main/resources/mybatis/auto/WindturbinepowercurvefittingMapper.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.WindturbinepowercurvefittingMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Windturbinepowercurvefitting">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="WINDTURBINEID" jdbcType="VARCHAR" property="windturbineid" />
+    <result column="SPEED" jdbcType="DECIMAL" property="speed" />
+    <result column="ACTUALPOWER" jdbcType="DECIMAL" property="actualpower" />
+    <result column="OPTIMALPOWER" jdbcType="DECIMAL" property="optimalpower" />
+    <result column="MAINID" jdbcType="VARCHAR" property="mainid" />
+    <result column="OPTMALPOWER" jdbcType="FLOAT" property="optmalpower" />
+  </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, WINDTURBINEID, SPEED, ACTUALPOWER, OPTIMALPOWER, MAINID, OPTMALPOWER
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WindturbinepowercurvefittingExample" 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 WINDTURBINEPOWERCURVEFITTING
+    <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 WINDTURBINEPOWERCURVEFITTING
+    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 WINDTURBINEPOWERCURVEFITTING
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WindturbinepowercurvefittingExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WINDTURBINEPOWERCURVEFITTING
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Windturbinepowercurvefitting">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WINDTURBINEPOWERCURVEFITTING (ID, WINDTURBINEID, SPEED, 
+      ACTUALPOWER, OPTIMALPOWER, MAINID, 
+      OPTMALPOWER)
+    values (#{id,jdbcType=VARCHAR}, #{windturbineid,jdbcType=VARCHAR}, #{speed,jdbcType=DECIMAL}, 
+      #{actualpower,jdbcType=DECIMAL}, #{optimalpower,jdbcType=DECIMAL}, #{mainid,jdbcType=VARCHAR}, 
+      #{optmalpower,jdbcType=FLOAT})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Windturbinepowercurvefitting">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WINDTURBINEPOWERCURVEFITTING
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="windturbineid != null">
+        WINDTURBINEID,
+      </if>
+      <if test="speed != null">
+        SPEED,
+      </if>
+      <if test="actualpower != null">
+        ACTUALPOWER,
+      </if>
+      <if test="optimalpower != null">
+        OPTIMALPOWER,
+      </if>
+      <if test="mainid != null">
+        MAINID,
+      </if>
+      <if test="optmalpower != null">
+        OPTMALPOWER,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="windturbineid != null">
+        #{windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="speed != null">
+        #{speed,jdbcType=DECIMAL},
+      </if>
+      <if test="actualpower != null">
+        #{actualpower,jdbcType=DECIMAL},
+      </if>
+      <if test="optimalpower != null">
+        #{optimalpower,jdbcType=DECIMAL},
+      </if>
+      <if test="mainid != null">
+        #{mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="optmalpower != null">
+        #{optmalpower,jdbcType=FLOAT},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WindturbinepowercurvefittingExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WINDTURBINEPOWERCURVEFITTING
+    <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 WINDTURBINEPOWERCURVEFITTING
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windturbineid != null">
+        WINDTURBINEID = #{record.windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.speed != null">
+        SPEED = #{record.speed,jdbcType=DECIMAL},
+      </if>
+      <if test="record.actualpower != null">
+        ACTUALPOWER = #{record.actualpower,jdbcType=DECIMAL},
+      </if>
+      <if test="record.optimalpower != null">
+        OPTIMALPOWER = #{record.optimalpower,jdbcType=DECIMAL},
+      </if>
+      <if test="record.mainid != null">
+        MAINID = #{record.mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.optmalpower != null">
+        OPTMALPOWER = #{record.optmalpower,jdbcType=FLOAT},
+      </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 WINDTURBINEPOWERCURVEFITTING
+    set ID = #{record.id,jdbcType=VARCHAR},
+      WINDTURBINEID = #{record.windturbineid,jdbcType=VARCHAR},
+      SPEED = #{record.speed,jdbcType=DECIMAL},
+      ACTUALPOWER = #{record.actualpower,jdbcType=DECIMAL},
+      OPTIMALPOWER = #{record.optimalpower,jdbcType=DECIMAL},
+      MAINID = #{record.mainid,jdbcType=VARCHAR},
+      OPTMALPOWER = #{record.optmalpower,jdbcType=FLOAT}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Windturbinepowercurvefitting">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WINDTURBINEPOWERCURVEFITTING
+    <set>
+      <if test="windturbineid != null">
+        WINDTURBINEID = #{windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="speed != null">
+        SPEED = #{speed,jdbcType=DECIMAL},
+      </if>
+      <if test="actualpower != null">
+        ACTUALPOWER = #{actualpower,jdbcType=DECIMAL},
+      </if>
+      <if test="optimalpower != null">
+        OPTIMALPOWER = #{optimalpower,jdbcType=DECIMAL},
+      </if>
+      <if test="mainid != null">
+        MAINID = #{mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="optmalpower != null">
+        OPTMALPOWER = #{optmalpower,jdbcType=FLOAT},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Windturbinepowercurvefitting">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WINDTURBINEPOWERCURVEFITTING
+    set WINDTURBINEID = #{windturbineid,jdbcType=VARCHAR},
+      SPEED = #{speed,jdbcType=DECIMAL},
+      ACTUALPOWER = #{actualpower,jdbcType=DECIMAL},
+      OPTIMALPOWER = #{optimalpower,jdbcType=DECIMAL},
+      MAINID = #{mainid,jdbcType=VARCHAR},
+      OPTMALPOWER = #{optmalpower,jdbcType=FLOAT}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>