Ver código fonte

一体化内网:
山东新增上报文件状态

zhangchenglong 1 ano atrás
pai
commit
4e2254144a

+ 27 - 10
in-passback/src/main/java/com/jiayue/passback/controller/InApiController.java

@@ -1,9 +1,7 @@
 package com.jiayue.passback.controller;
 package com.jiayue.passback.controller;
 
 
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.jiayue.passback.constants.CommonStant;
 import com.jiayue.passback.constants.CommonStant;
-import com.jiayue.passback.entity.ElectricField;
 import com.jiayue.passback.mapper.ElectricFieldMapper;
 import com.jiayue.passback.mapper.ElectricFieldMapper;
 import com.jiayue.passback.service.InApiService;
 import com.jiayue.passback.service.InApiService;
 import com.jiayue.passback.util.CacheUtil;
 import com.jiayue.passback.util.CacheUtil;
@@ -130,6 +128,25 @@ public class InApiController {
     }
     }
 
 
     /**
     /**
+     * 获取预测文件上次上报调度的状态
+     *
+     * @param request
+     * @return
+     */
+    @PostMapping("/getUploadState")
+    public JSONObject getUploadState(HttpServletRequest request, @RequestBody JSONObject data) {
+        // 入参验证
+        JSONObject checkResult = checkRequest(request,data);
+        // 如果校验结果为失败
+        if (JsonResultUtil.Type.failure.value().equals(checkResult.get(JsonResultUtil.CODE_TAG))) {
+            return checkResult;
+        }
+        // 返回短期数据json格式
+        JSONObject result = apiService.getUploadState(data);
+        return result;
+    }
+
+    /**
      * 校验授权信息并返回用户名密码
      * 校验授权信息并返回用户名密码
      *
      *
      * @return
      * @return
@@ -208,14 +225,14 @@ public class InApiController {
             return JsonResultUtil.failureDesc("场站id为空");
             return JsonResultUtil.failureDesc("场站id为空");
         }
         }
 //        // 根据场站编号查询场站信息
 //        // 根据场站编号查询场站信息
-//        QueryWrapper<ElectricField> wrapper = new QueryWrapper();
-//        wrapper.eq("C_STATION_CODE",stationCode);
-//        ElectricField electricField = electricFieldMapper.selectOne(wrapper);
-//        // 如果场站信息为空
-//        if (electricField == null) {
-//            log.info("场站信息为空");
-//            return JsonResultUtil.failureDesc("场站信息为空");
-//        }
+////        QueryWrapper<ElectricField> wrapper = new QueryWrapper();
+////        wrapper.eq("C_STATION_CODE",stationCode);
+////        ElectricField electricField = electricFieldMapper.selectOne(wrapper);
+////        // 如果场站信息为空
+////        if (electricField == null) {
+////            log.info("场站信息为空");
+////            return JsonResultUtil.failureDesc("场站信息为空");
+////        }
         return JsonResultUtil.success();
         return JsonResultUtil.success();
     }
     }
 }
 }

+ 7 - 0
in-passback/src/main/java/com/jiayue/passback/service/InApiService.java

@@ -45,4 +45,11 @@ public interface InApiService {
      * @return
      * @return
      */
      */
     JSONObject putSShortWpfData(JSONObject requestJson);
     JSONObject putSShortWpfData(JSONObject requestJson);
+
+    /**
+     * 获取预测文件上次上报调度的状态
+     * @param requestJson
+     * @return
+     */
+    JSONObject getUploadState(JSONObject requestJson);
 }
 }

+ 7 - 0
in-passback/src/main/java/com/jiayue/passback/service/UploadFileLogService.java

@@ -2,6 +2,13 @@ package com.jiayue.passback.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.jiayue.passback.entity.UploadFileLog;
 import com.jiayue.passback.entity.UploadFileLog;
+import com.jiayue.passback.entity.eunm.FileTypeEnum;
 
 
 public interface UploadFileLogService extends IService<UploadFileLog>,GenerateDataService {
 public interface UploadFileLogService extends IService<UploadFileLog>,GenerateDataService {
+    /**
+     * 根据文件类型获取最新的上报文件信息
+     * @param type
+     * @return
+     */
+    UploadFileLog getNewDateByType(String[] type);
 }
 }

+ 52 - 1
in-passback/src/main/java/com/jiayue/passback/service/impl/InApiServiceImpl.java

@@ -10,13 +10,16 @@ import com.jiayue.passback.constants.CommonStant;
 import com.jiayue.passback.entity.ForecastPowerShortTerm;
 import com.jiayue.passback.entity.ForecastPowerShortTerm;
 import com.jiayue.passback.entity.ForecastPowerUltraShortTerm;
 import com.jiayue.passback.entity.ForecastPowerUltraShortTerm;
 import com.jiayue.passback.entity.SysParameter;
 import com.jiayue.passback.entity.SysParameter;
+import com.jiayue.passback.entity.UploadFileLog;
 import com.jiayue.passback.entity.eunm.PredictionModelEnum;
 import com.jiayue.passback.entity.eunm.PredictionModelEnum;
 import com.jiayue.passback.mapper.ForecastPowerShortTermMapper;
 import com.jiayue.passback.mapper.ForecastPowerShortTermMapper;
 import com.jiayue.passback.mapper.ForecastPowerUltraShortTermMapper;
 import com.jiayue.passback.mapper.ForecastPowerUltraShortTermMapper;
 import com.jiayue.passback.mapper.SystemParameterMapper;
 import com.jiayue.passback.mapper.SystemParameterMapper;
+import com.jiayue.passback.mapper.UploadFileLogMapper;
 import com.jiayue.passback.service.ForecastPowerShortTermService;
 import com.jiayue.passback.service.ForecastPowerShortTermService;
 import com.jiayue.passback.service.ForecastPowerUltraShortTermService;
 import com.jiayue.passback.service.ForecastPowerUltraShortTermService;
 import com.jiayue.passback.service.InApiService;
 import com.jiayue.passback.service.InApiService;
+import com.jiayue.passback.service.UploadFileLogService;
 import com.jiayue.passback.util.CacheUtil;
 import com.jiayue.passback.util.CacheUtil;
 import com.jiayue.passback.util.JsonResultUtil;
 import com.jiayue.passback.util.JsonResultUtil;
 import io.jsonwebtoken.JwtBuilder;
 import io.jsonwebtoken.JwtBuilder;
@@ -56,6 +59,8 @@ public class InApiServiceImpl implements InApiService {
     private ForecastPowerUltraShortTermMapper forecastPowerUltraShortTermMapper;
     private ForecastPowerUltraShortTermMapper forecastPowerUltraShortTermMapper;
     @Resource
     @Resource
     private ForecastPowerUltraShortTermService forecastPowerUltraShortTermService;
     private ForecastPowerUltraShortTermService forecastPowerUltraShortTermService;
+    @Resource
+    private UploadFileLogService uploadFileLogService;
 
 
     /**
     /**
      * 获取token
      * 获取token
@@ -133,7 +138,7 @@ public class InApiServiceImpl implements InApiService {
         SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
         try {
         try {
             long startTimeL = sdfDate.parse(startTime).getTime();
             long startTimeL = sdfDate.parse(startTime).getTime();
-            long oneDay = 24*60*60*1000-1000;
+            long oneDay = 24 * 60 * 60 * 1000 - 1000;
             long endTimeL = sdfDate.parse(endTime).getTime() + oneDay;
             long endTimeL = sdfDate.parse(endTime).getTime() + oneDay;
             // 获取明日短期预测数据
             // 获取明日短期预测数据
             List<ForecastPowerShortTerm> shortList = getShortArr(startTimeL, endTimeL);
             List<ForecastPowerShortTerm> shortList = getShortArr(startTimeL, endTimeL);
@@ -212,6 +217,52 @@ public class InApiServiceImpl implements InApiService {
     }
     }
 
 
     /**
     /**
+     * 获取上报文件
+     *
+     * @param requestJson
+     * @return
+     */
+    @Override
+    public JSONObject getUploadState(JSONObject requestJson) {
+        String wfId = requestJson.getStr("wfId");
+        // 山东短期文件类型
+        String dqArr[] = {"E131", "E132"};
+        // 山东超短期文件类型
+        String cdqArr[] = {"E133"};
+        // 获取最新短期上报文件状态
+        UploadFileLog uploadFileLogDq = uploadFileLogService.getNewDateByType(dqArr);
+        // 获取最新超短期上报文件状态
+        UploadFileLog uploadFileLogCdq = uploadFileLogService.getNewDateByType(cdqArr);
+        // 拼接json
+        JSONArray resultArr = new JSONArray();
+        JSONObject uploadStateJson = new JSONObject();
+        String dqFileName = "";
+        String cdqFileName = "";
+        int dqFileStatus = 0;
+        int cdqFileStatus = 0;
+
+        if (uploadFileLogDq != null) {
+            dqFileName = uploadFileLogDq.getFileName();
+            // 如果是E2 则是上报成功,则设置为1,否则为0
+            dqFileStatus = ("E2".equals(uploadFileLogDq.getFileStatusEnum()) ? 1 : 0);
+        }
+
+        if (uploadFileLogCdq != null) {
+            cdqFileName = uploadFileLogCdq.getFileName();
+            // 如果是E2 则是上报成功,则设置为1,否则为0
+            cdqFileStatus = ("E2".equals(uploadFileLogCdq.getFileStatusEnum()) ? 1 : 0);
+        }
+
+        uploadStateJson.set("spfupfilename", dqFileName);
+        uploadStateJson.set("spfupstate", dqFileStatus);
+        uploadStateJson.set("sspfupfilename", cdqFileName);
+        uploadStateJson.set("sspfupstate", cdqFileStatus);
+        uploadStateJson.set("wfId", wfId);
+        resultArr.add(uploadStateJson);
+        return JsonResultUtil.success(resultArr);
+    }
+
+    /**
      * 解析预测数据并返回规定格式的json
      * 解析预测数据并返回规定格式的json
      *
      *
      * @param startDate
      * @param startDate

+ 29 - 10
in-passback/src/main/java/com/jiayue/passback/service/impl/UploadFileLogServiceImpl.java

@@ -1,19 +1,16 @@
 package com.jiayue.passback.service.impl;
 package com.jiayue.passback.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jiayue.passback.entity.UploadFileLog;
 import com.jiayue.passback.entity.UploadFileLog;
 import com.jiayue.passback.entity.eunm.FileStatusEnum;
 import com.jiayue.passback.entity.eunm.FileStatusEnum;
 import com.jiayue.passback.mapper.UploadFileLogMapper;
 import com.jiayue.passback.mapper.UploadFileLogMapper;
 import com.jiayue.passback.service.UploadFileLogService;
 import com.jiayue.passback.service.UploadFileLogService;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.time.DateFormatUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import javax.annotation.Resource;
+import java.util.*;
 
 
 @Service
 @Service
 @Slf4j
 @Slf4j
@@ -30,10 +27,13 @@ public class UploadFileLogServiceImpl extends ServiceImpl<UploadFileLogMapper, U
     @Value("${cdqUpMin}")
     @Value("${cdqUpMin}")
     private int cdqUpMin;
     private int cdqUpMin;
 
 
+    @Resource
+    private UploadFileLogMapper uploadFileLogMapper;
+
     @Override
     @Override
     public Map<String, Object> GenerateData(Date date) {
     public Map<String, Object> GenerateData(Date date) {
 
 
-        Date cdqStartTime = new Date(date.getTime() - cdqUpMin  * 60 * 1000);
+        Date cdqStartTime = new Date(date.getTime() - cdqUpMin * 60 * 1000);
 
 
         Date cdqEndTime = new Date(date.getTime() + 15 * 60 * 1000);
         Date cdqEndTime = new Date(date.getTime() + 15 * 60 * 1000);
 
 
@@ -50,7 +50,7 @@ public class UploadFileLogServiceImpl extends ServiceImpl<UploadFileLogMapper, U
                 .eq(UploadFileLog::getUploadObjectNo, tunnelNo)
                 .eq(UploadFileLog::getUploadObjectNo, tunnelNo)
                 .getWrapper()).size() > 0) {
                 .getWrapper()).size() > 0) {
             map.put("cdqStatus", 1);
             map.put("cdqStatus", 1);
-        }else {
+        } else {
             map.put("cdqStatus", 0);
             map.put("cdqStatus", 0);
         }
         }
 
 
@@ -61,12 +61,31 @@ public class UploadFileLogServiceImpl extends ServiceImpl<UploadFileLogMapper, U
                 .eq(UploadFileLog::getFileStatusEnum, "E2")
                 .eq(UploadFileLog::getFileStatusEnum, "E2")
                 .getWrapper()).size() > 0) {
                 .getWrapper()).size() > 0) {
             map.put("dqStatus", 1);
             map.put("dqStatus", 1);
-        }else {
+        } else {
             map.put("dqStatus", 0);
             map.put("dqStatus", 0);
         }
         }
 
 
-        log.info("获取短期上报状态:{},获取超短期上报状态:{}",map.get("dqStatus"),map.get("cdqStatus"));
+        log.info("获取短期上报状态:{},获取超短期上报状态:{}", map.get("dqStatus"), map.get("cdqStatus"));
 
 
         return map;
         return map;
     }
     }
+
+    /**
+     * 根据文件类型获取最新的上报文件信息
+     *
+     * @param type
+     * @return
+     */
+    @Override
+    public UploadFileLog getNewDateByType(String[] type) {
+        UploadFileLog uploadFileLog = new UploadFileLog();
+        LambdaQueryWrapper<UploadFileLog> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.in(UploadFileLog::getFileTypeEnum, type);
+        lambdaQueryWrapper.orderByDesc(UploadFileLog::getCreatTime);
+        List<UploadFileLog> uploadFileLogList = uploadFileLogMapper.selectList(lambdaQueryWrapper);
+        if (uploadFileLogList != null && uploadFileLogList.size() > 0) {
+            uploadFileLog = uploadFileLogList.get(0);
+        }
+        return uploadFileLog;
+    }
 }
 }