Browse Source

后台管理修改

shilin 2 years ago
parent
commit
8f144d1e05

+ 1 - 1
web/monitor-web-sxjn/src/main/java/com/gyee/frame/common/spring/Constant.java

@@ -623,7 +623,7 @@ public static final String TPOINT_WT_60FX = "AI011";// 风机60秒风向
     public static final String TPOINT_NBQ_GLYS = "AIG015";// 功率因数
     public static final String TPOINT_NBQ_WD = "AIG017";// 机内温度
     public static final String TPOINT_NBQ_XL = "AIG018";// 效率
-    public static final String TPOINT_NBQ_EYHT = "AIG022";// 累计二氧化碳减排量
+    public static final String TPOINT_NBQ_EYHT = "JPEYHT";// 累计二氧化碳减排量
     public static final String TPOINT_NBQ_JLDY = "AIG023";// 交流电压
     public static final String TPOINT_NBQ_JLDL = "AIG024";// 交流电流
     public static final String TPOINT_NBQ_ZLDY = "AIG025";// 直流电压

+ 17 - 11
web/monitor-web-sxjn/src/main/java/com/gyee/frame/controller/AdminController.java

@@ -7,6 +7,7 @@ import com.gyee.frame.common.conf.V2Config;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.common.websocket.WebSocketLoginOutEvent;
 import com.gyee.frame.model.auto.SysNotice;
+import com.gyee.frame.model.auto.SysWindpowerstation;
 import com.gyee.frame.model.auto.TsysUser;
 import com.gyee.frame.model.auto.TvuePermission;
 import com.gyee.frame.model.custom.BootstrapTree;
@@ -56,6 +57,8 @@ public class AdminController extends BaseController {
 	@Resource
 	private WebSocketLoginOutEvent webSocketLoginOutEvent;
 
+
+
 	@ApiOperation(value = "首页", notes = "首页")
 	@GetMapping("/index")
 	public String index(HttpServletRequest request) {
@@ -190,14 +193,14 @@ public class AdminController extends BaseController {
 	@ApiOperation(value = "用户登陆验证", notes = "用户登陆验证")
 	@PostMapping("/loginvue")
 	@ResponseBody
-	public AjaxResult loginvue(TsysUser user,
+	public AjaxResult loginvue(@RequestBody TsysUser user,String authToken,
                                HttpServletRequest request) {
 		// ModelAndView view =new ModelAndView();
 
 			String userName = user.getUsername();
 			Subject currentUser = SecurityUtils.getSubject();
-			String customtoken = request.getHeader(AUTHTOKEN);
-
+//			String customtoken = request.getHeader(AUTHTOKEN);
+            String customtoken = authToken;
 				if(StringUtils.notEmp(customtoken))
 				{
 					TokenUser customuser = shiroService.findToken(customtoken);
@@ -227,9 +230,12 @@ public class AdminController extends BaseController {
                             {
                                 List<TvuePermission> list= vuePermissionService.getall(customuser.getLaborNum());
                                 result.put("prmissionlist", list);
+                                List<SysWindpowerstation> wpls=sysWindpowerstationService.queryUserWp(customuser.getLaborNum());
+                                result.put("wpls", wpls);
                             }else
                             {
                                 result.put("prmissionlist", new ArrayList<>());
+                                result.put("wpls", new ArrayList<>());
                             }
 							return AjaxResult.successData(AjaxStatus.success.code, result);
 						}
@@ -439,14 +445,14 @@ public class AdminController extends BaseController {
 		// shiro注销
 		subject.logout();
 
-		String authToken = request.getHeader(AUTHTOKEN);
-		if(StringUtils.notEmp(authToken))
-		{
-			//websocekt退出
-			webSocketLoginOutEvent.loginOut(authToken);
-			//令牌退出
-			shiroService.logout(authToken);
-		}
+//		String authToken = request.getHeader(AUTHTOKEN);
+//		if(StringUtils.notEmp(authToken))
+//		{
+//			//websocekt退出
+//			webSocketLoginOutEvent.loginOut(authToken);
+//			//令牌退出
+//			shiroService.logout(authToken);
+//		}
 
 		return AjaxResult.success();
 	}

+ 50 - 18
web/monitor-web-sxjn/src/main/java/com/gyee/frame/service/websocket/WpInfoPushService.java

@@ -983,9 +983,28 @@ public class WpInfoPushService {
                 jczbmap.put("lxnum", lxnum);
 
                 /*************************************************光伏状态统计*************************************************************/
-
+                jczbmap.put("jrts", djnum + sdtjnum + zcfdnum + qxjclnum + xdjclnum + xdtjnum + gztjnum + cnsltjnum + jxtjnum + cnsljxnum + dwslnum + hjslnum + lxnum);
                 if(wp.getId().endsWith("GDC")){
 
+
+                    List<String> gfjczbls = new ArrayList<>();
+
+                    gfjczbls.add(windPowerstationTestingPoint2Service.getWindPowerStationTestingPoint2(wp.getId(), Constant.TPOINT_GF_RJYBM).getCode());
+                    gfjczbls.add(windPowerstationTestingPoint2Service.getWindPowerStationTestingPoint2(wp.getId(), Constant.TPOINT_GF_RJPEYHT).getCode());
+                    gfjczbls.add(windPowerstationTestingPoint2Service.getWindPowerStationTestingPoint2(wp.getId(), Constant.TPOINT_JYBM).getCode());
+                    gfjczbls.add(windPowerstationTestingPoint2Service.getWindPowerStationTestingPoint2(wp.getId(), Constant.TPOINT_JPEYHT).getCode());
+                    List<PointData> gfzblist = realApiUtil.getRealData(gfjczbls);
+                    if (!gfzblist.isEmpty() && gfzblist.size() == gfjczbls.size()) {
+                        //当日节约标煤
+                        jczbmap.put("drjybm", StringUtils.round(gfzblist.get(0).getPointValueInDouble(),2));
+                        //当日减排二氧化碳
+                        jczbmap.put("drjpeyht", StringUtils.round(gfzblist.get(1).getPointValueInDouble(),2));
+                        //累计节约标煤
+                        jczbmap.put("ljjybm", StringUtils.round(gfzblist.get(2).getPointValueInDouble(),2));
+                        //累计减排二氧化碳
+                        jczbmap.put("ljjpeyht", StringUtils.round(gfzblist.get(3).getPointValueInDouble(),2));
+                    }
+
                     List<String> fjzbls = new ArrayList<>();
                     List<Windturbine> wtls=InitialRunner.wp_wtmap.get(wp.getId());
                     for(Windturbine wt:wtls) {
@@ -994,30 +1013,39 @@ public class WpInfoPushService {
                         fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.FJZT).getCode());
                     }
                     List<PointData> fjzblist = realApiUtil.getRealData(fjzbls);
+
+                    double dj=0;
+                    double yx=0;
+                    double gz=0;
+                    double lx=0;
+                    double wh=0;
+                    double xd=0;
+                    double sl=0;
                     if (!fjzblist.isEmpty() && fjzblist.size() == fjzbls.size()) {
+
                         for(int i=0;i<wtls.size();i++){
                             double fjzt = MathUtil.twoBit(MathUtil.twoBit(fjzblist.get(i).getPointValueInDouble()));
                             switch (Double.valueOf(fjzt).intValue()) {
                                 case 0:
-                                    djnum++;
+                                    dj++;
                                     break;
                                 case 1:
-                                    zcfdnum++;
+                                    yx++;
                                     break;
                                 case 2:
-                                    gztjnum++;
+                                    gz++;
                                     break;
                                 case 3:
-                                    lxnum++;
+                                    lx++;
                                     break;
                                 case 4:
-                                    jxtjnum++;
+                                    wh++;
                                     break;
                                 case 5:
-                                    xdjclnum++;
+                                    xd++;
                                     break;
                                 case 6:
-                                    xdjclnum++;
+                                    sl++;
                                     break;
 
                                 default:
@@ -1025,23 +1053,27 @@ public class WpInfoPushService {
                                     break;
                             }
                         }
-
+                        double jrts=djnum + sdtjnum + zcfdnum + qxjclnum + xdjclnum + xdtjnum + gztjnum + cnsltjnum + jxtjnum + cnsljxnum + dwslnum + hjslnum + lxnum;
+                        jczbmap.put("jrts",Double.valueOf(jrts).intValue());
                     }
 
                     //待机台数
-                    jczbmap.put("djnum", djnum);
-                    //正常发电台数
-                    jczbmap.put("zcfdnum", zcfdnum);
+                    jczbmap.put("djnum", dj);
+                    //yx
+                    jczbmap.put("zcfdnum", yx);
                     // 限电降出力台数
-                    jczbmap.put("xdjclnum", xdjclnum);
+                    jczbmap.put("xdjclnum", xd);
                     // 故障停机台数
-                    jczbmap.put("gztjnum", gztjnum);
+                    jczbmap.put("gztjnum", gz);
                     // 检修停机台数
-                    jczbmap.put("jxtjnum", jxtjnum);
+                    jczbmap.put("jxtjnum", wh);
                     // 电网受累台数
-                    jczbmap.put("dwslnum", dwslnum);
+                    jczbmap.put("dwslnum", sl);
                     // 风机离线台数
-                    jczbmap.put("lxnum", lxnum);
+                    jczbmap.put("lxnum", lx);
+
+                    double jrts=dj + yx + xd + gz + wh + sl + lx;
+                    jczbmap.put("jrts",Double.valueOf(jrts).intValue() );
                 }
 
 //
@@ -1061,7 +1093,7 @@ public class WpInfoPushService {
 //                jczbmap.put("xdts", xdts);
 //                jczbmap.put("slts", slts);
 
-                jczbmap.put("jrts", djnum + sdtjnum + zcfdnum + qxjclnum + xdjclnum + xdtjnum + gztjnum + cnsltjnum + jxtjnum + cnsljxnum + dwslnum + hjslnum + lxnum);
+
             } else {
                 //实际功率
                 jczbmap.put("sjgl", 0.0);

+ 47 - 14
web/monitor-web-sxjn/src/main/java/com/gyee/frame/shiro/config/ShiroService.java

@@ -1,11 +1,16 @@
 package com.gyee.frame.shiro.config;
 
 
+import com.gyee.frame.common.cache.RedisSessionDao;
+import com.gyee.frame.model.auto.SysWindpowerstation;
 import com.gyee.frame.model.auto.TsysUser;
 import com.gyee.frame.model.auto.TvuePermission;
 import com.gyee.frame.model.custom.TokenUser;
+import com.gyee.frame.service.SysWindpowerstationService;
 import com.gyee.frame.service.VuePermissionService;
+import com.gyee.frame.shiro.util.ShiroUtils;
 import com.gyee.frame.util.StringUtils;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -14,12 +19,18 @@ import java.util.*;
 @Service
 public class ShiroService {
 
-
+    private String prefix="session_";
     @Resource
     TokenCache tokenCache;
+    @Resource
+    private    RedisSessionDao    redisSessionDao;
 
     @Resource
+    private RedisTemplate<String,Object> redisTemplate;// Redis操作类,对这个使用不熟悉的,可以参考前面的博客
+    @Resource
     VuePermissionService vuePermissionService;
+    @Resource
+    public SysWindpowerstationService sysWindpowerstationService;
     //10天后过期
     public final long EXPIRE = 10 * 24 * 60 * 60;
 
@@ -28,8 +39,8 @@ public class ShiroService {
         if (user == null)
             return result;
 
-        //生成一个token id
-        String token = TokenGenerator.generateValue();
+//        //生成一个token id
+//        String token = TokenGenerator.generateValue();
         //当前时间
         Date now = new Date();
         //过期时间
@@ -42,26 +53,48 @@ public class ShiroService {
         tokenUser.setDepartment(user.getDepName());
         tokenUser.setExpireTime(expireTime);
 
-        // 保存并更新token
-        tokenCache.saveToken(token, tokenUser);
+////        // 保存并更新token
+//        tokenCache.saveToken(token, tokenUser);
 
-        result.put("authToken", token);
-        result.put("user", tokenUser);
 
-        if(StringUtils.notEmp(tokenUser))
-        {
-            List<TvuePermission> list= vuePermissionService.getall(tokenUser.getLaborNum());
-            result.put("prmissionlist", list);
-        }else
+
+
+        LinkedHashMap session= (LinkedHashMap) redisTemplate.opsForValue().get(prefix+ShiroUtils.getSession().getId());
+
+        if(StringUtils.notEmp(session) && StringUtils.notEmp(session.get("id")))
         {
-            result.put("prmissionlist", new ArrayList<>());
+
+            String token=String.valueOf(session.get("id"));
+            tokenCache.saveToken(token, tokenUser);
+            result.put("authToken",token);
+            result.put("user", tokenUser);
+
+            if(StringUtils.notEmp(tokenUser))
+            {
+                List<TvuePermission> list= vuePermissionService.getall(tokenUser.getLaborNum());
+                result.put("prmissionlist", list);
+                List<SysWindpowerstation> wpls=sysWindpowerstationService.queryUserWp(tokenUser.getLaborNum());
+                result.put("wpls", wpls);
+            }else
+            {
+                result.put("prmissionlist", new ArrayList<>());
+                result.put("wpls", new ArrayList<>());
+            }
         }
 
+
+
+
         return result;
     }
 
     public void logout(String token) {
-       tokenCache.removeToken(token);
+
+        if(ShiroUtils.getSession().getId().equals(token))
+        {
+            redisSessionDao.delete(ShiroUtils.getSession());
+        }
+
     }
 
     public TokenUser findToken(String token) {