|
@@ -1,9 +1,13 @@
|
|
|
package com.welampiot.controller;
|
|
|
|
|
|
import com.welampiot.common.BaseResult;
|
|
|
+import com.welampiot.common.InterfaceResultEnum;
|
|
|
import com.welampiot.dto.CableDTO;
|
|
|
+import com.welampiot.dto.CableInfoLogDTO;
|
|
|
+import com.welampiot.service.CableInfoLogService;
|
|
|
import com.welampiot.service.CableService;
|
|
|
import com.welampiot.utils.ToolUtils;
|
|
|
+import com.welampiot.vo.CableInfoLogVO;
|
|
|
import com.welampiot.vo.CableVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
|
@@ -12,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* ClassName: CableController
|
|
@@ -29,6 +36,9 @@ public class CableController {
|
|
|
@Autowired
|
|
|
private CableService cableService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CableInfoLogService cableInfoLogService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ToolUtils toolUtils;
|
|
|
|
|
@@ -67,4 +77,323 @@ public class CableController {
|
|
|
CableVO vo = cableService.getDataByCableDTO(dto);
|
|
|
return BaseResult.success(vo);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取电缆统计数据
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/cableInfo", method = RequestMethod.POST)
|
|
|
+ public BaseResult cableInfo(HttpServletRequest request) throws ParseException {
|
|
|
+ Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
|
|
|
+ Integer deviceId = (Integer) toolUtils.getRequestContent(request,"deviceId",1);
|
|
|
+ if (deviceId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
+ Integer lampPoleId = (Integer) toolUtils.getRequestContent(request,"lampPoleId",1);
|
|
|
+ if (lampPoleId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
+ Integer dateType = (Integer) toolUtils.getRequestContent(request,"dateType",1);
|
|
|
+ Integer dataType = (Integer) toolUtils.getRequestContent(request,"dataType",1);
|
|
|
+ Integer timezone = cableInfoLogService.getTimezoneById(deviceId);
|
|
|
+ if (timezone == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
|
|
|
+ long l = System.currentTimeMillis() - timezone * 3600 * 1000;
|
|
|
+ long startTime = 0L;
|
|
|
+ long endTime = 0L;
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ if (dateType == 0){ // 1 天
|
|
|
+ startTime = l - 24 * 3600 * 1000;
|
|
|
+ endTime = l;
|
|
|
+ }else if (dateType == 1){ // 3 天
|
|
|
+ startTime = l - 24 * 3600 * 1000 * 3;
|
|
|
+ endTime = l;
|
|
|
+ }else if (dateType == 2){ // 7 天
|
|
|
+ startTime = l - 24 * 3600 * 1000 * 7;
|
|
|
+ endTime = l;
|
|
|
+ }else if (dateType == 3){ // 14 天
|
|
|
+ startTime = l - 24 * 3600 * 1000 * 14;
|
|
|
+ endTime = l;
|
|
|
+ }else if (dateType == 4){ // 日期选择 最多30天
|
|
|
+ String date = (String) toolUtils.getRequestContent(request,"date",2);
|
|
|
+ if (date.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_DATE_ERROR,version);
|
|
|
+ List<String> split = Arrays.asList(date.split("/"));
|
|
|
+ System.out.println(split);
|
|
|
+ System.out.println(split.get(0));
|
|
|
+ System.out.println(split.get(1));
|
|
|
+ startTime = simpleDateFormat.parse(split.get(0) + " 00:00:00").getTime();
|
|
|
+ endTime = simpleDateFormat.parse(split.get(1) + " 23:59:59").getTime();
|
|
|
+ if (endTime < startTime) toolUtils.response(InterfaceResultEnum.LACK_DATE_FORMAT_ERROR,version);
|
|
|
+ if (endTime - startTime > 29L *24 * 3600 * 1000) toolUtils.response(InterfaceResultEnum.LACK_DATE_RANGE_ERROR,version);
|
|
|
+ startTime -= timezone * 3600 * 1000;
|
|
|
+ endTime -= timezone * 3600 * 1000;
|
|
|
+ }
|
|
|
+
|
|
|
+ HashMap<String, Integer> objectObjectHashMap = new HashMap<>();
|
|
|
+ long timeT = startTime;
|
|
|
+ int i = 0;
|
|
|
+
|
|
|
+ List<Object> dateList = new ArrayList<>();
|
|
|
+ List<Object> dataList = new ArrayList<>();
|
|
|
+ ArrayList<CableInfoLogDTO> list = new ArrayList<>();
|
|
|
+ simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:00:00");
|
|
|
+ while (timeT < endTime){
|
|
|
+ objectObjectHashMap.put(simpleDateFormat.format(new Date(timeT)),i);
|
|
|
+ dateList.add(simpleDateFormat.format(new Date(timeT + timezone * 3600 * 1000)));
|
|
|
+ dataList.add(0);
|
|
|
+ list.add(null);
|
|
|
+ timeT += 3600 * 1000;
|
|
|
+ i ++;
|
|
|
+ }
|
|
|
+ SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String startDate = simpleDateFormat.format(new Date(startTime));
|
|
|
+ String endDate = simpleDateFormat.format(new Date(endTime));
|
|
|
+ CableInfoLogDTO dto = new CableInfoLogDTO();
|
|
|
+ dto.setCableId(deviceId);
|
|
|
+ dto.setLampPoleId(lampPoleId);
|
|
|
+ dto.setStartDate(startDate);
|
|
|
+ dto.setEndDate(endDate);
|
|
|
+ dto.setDataType(dataType);
|
|
|
+ List<CableInfoLogDTO> cableInfoByDTO = cableInfoLogService.getCableInfoByDTO(dto);
|
|
|
+ for (CableInfoLogDTO cableInfoLogDTO : cableInfoByDTO){
|
|
|
+ Date date = new Date(simpleDateFormat2.parse(cableInfoLogDTO.getUpdateTime()).getTime());
|
|
|
+ String s = simpleDateFormat.format(date);
|
|
|
+ if (objectObjectHashMap.containsKey(s)){
|
|
|
+ Integer integer = objectObjectHashMap.get(s);
|
|
|
+ list.set(integer,cableInfoLogDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (CableInfoLogDTO cableInfoLogDTO:list) {
|
|
|
+ if (cableInfoLogDTO != null){
|
|
|
+ Date date = new Date(simpleDateFormat2.parse(cableInfoLogDTO.getUpdateTime()).getTime());
|
|
|
+ String s = simpleDateFormat.format(date);
|
|
|
+ Integer integer = null;
|
|
|
+ if (objectObjectHashMap.containsKey(s)){
|
|
|
+ integer = objectObjectHashMap.get(s);
|
|
|
+ list.set(integer,cableInfoLogDTO);
|
|
|
+ }
|
|
|
+ if (dto.getDataType() != null){
|
|
|
+ switch (dto.getDataType()){
|
|
|
+ case 0 :
|
|
|
+ if (cableInfoLogDTO.getManhole1X() != null && !cableInfoLogDTO.getManhole1X().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1X()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 1 :
|
|
|
+ if (cableInfoLogDTO.getManhole1Y() != null && !cableInfoLogDTO.getManhole1Y().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1Y()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ if (cableInfoLogDTO.getManhole1Z() != null && !cableInfoLogDTO.getManhole1Z().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1Z()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3 :
|
|
|
+ if (cableInfoLogDTO.getManhole1A() != null && cableInfoLogDTO.getManhole1A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getManhole1A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4 :
|
|
|
+ if (cableInfoLogDTO.getManhole1V() != null && !cableInfoLogDTO.getManhole1V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole1V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5 :
|
|
|
+ if (cableInfoLogDTO.getManhole2X() != null && !cableInfoLogDTO.getManhole2X().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2X()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 6 :
|
|
|
+ if (cableInfoLogDTO.getManhole2Y() != null && !cableInfoLogDTO.getManhole2Y().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2Y()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 7 :
|
|
|
+ if (cableInfoLogDTO.getManhole2Z() != null && !cableInfoLogDTO.getManhole2Z().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2Z()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 8 :
|
|
|
+ if (cableInfoLogDTO.getManhole2A() != null && cableInfoLogDTO.getManhole2A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getManhole2A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 9 :
|
|
|
+ if (cableInfoLogDTO.getManhole2V() != null && !cableInfoLogDTO.getManhole2V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole2V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 10 :
|
|
|
+ if (cableInfoLogDTO.getManhole3X() != null && !cableInfoLogDTO.getManhole3X().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3X()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 11 :
|
|
|
+ if (cableInfoLogDTO.getManhole3Y() != null && !cableInfoLogDTO.getManhole3Y().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3Y()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 12 :
|
|
|
+ if (cableInfoLogDTO.getManhole3Z() != null && !cableInfoLogDTO.getManhole3Z().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3Z()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 13 :
|
|
|
+ if (cableInfoLogDTO.getManhole3A() != null && cableInfoLogDTO.getManhole3A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getManhole3A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 14 :
|
|
|
+ if (cableInfoLogDTO.getManhole3V() != null && !cableInfoLogDTO.getManhole3V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole3V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 15 :
|
|
|
+ if (cableInfoLogDTO.getManhole4X() != null && !cableInfoLogDTO.getManhole4X().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4X()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 16 :
|
|
|
+ if (cableInfoLogDTO.getManhole4Y() != null && !cableInfoLogDTO.getManhole4Y().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4Y()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 17 :
|
|
|
+ if (cableInfoLogDTO.getManhole4Z() != null && !cableInfoLogDTO.getManhole4Z().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4Z()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 18 :
|
|
|
+ if (cableInfoLogDTO.getManhole4A() != null && cableInfoLogDTO.getManhole4A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getManhole4A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 19 :
|
|
|
+ if (cableInfoLogDTO.getManhole4V() != null && !cableInfoLogDTO.getManhole4V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole4V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 20 :
|
|
|
+ if (cableInfoLogDTO.getManhole5X() != null && !cableInfoLogDTO.getManhole5X().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5X()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 21 :
|
|
|
+ if (cableInfoLogDTO.getManhole5Y() != null && !cableInfoLogDTO.getManhole5Y().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5Y()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 22 :
|
|
|
+ if (cableInfoLogDTO.getManhole5Z() != null && !cableInfoLogDTO.getManhole5Z().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5Z()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 23 :
|
|
|
+ if (cableInfoLogDTO.getManhole5A() != null && cableInfoLogDTO.getManhole5A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getManhole5A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 24 :
|
|
|
+ if (cableInfoLogDTO.getManhole5V() != null && !cableInfoLogDTO.getManhole5V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getManhole5V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 25 :
|
|
|
+ if (cableInfoLogDTO.getTemperature1T() != null && !cableInfoLogDTO.getTemperature1T().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature1T()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 26 :
|
|
|
+ if (cableInfoLogDTO.getTemperature1V() != null && !cableInfoLogDTO.getTemperature1V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature1V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 27 :
|
|
|
+ if (cableInfoLogDTO.getTemperature1A() != null && cableInfoLogDTO.getTemperature1A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getTemperature1A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 28 :
|
|
|
+ if (cableInfoLogDTO.getTemperature2T() != null && !cableInfoLogDTO.getTemperature2T().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature2T()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 29 :
|
|
|
+ if (cableInfoLogDTO.getTemperature2V() != null && !cableInfoLogDTO.getTemperature2V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature2V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 30 :
|
|
|
+ if (cableInfoLogDTO.getTemperature2A() != null && cableInfoLogDTO.getTemperature2A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getTemperature2A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 31 :
|
|
|
+ if (cableInfoLogDTO.getTemperature3T() != null && !cableInfoLogDTO.getTemperature3T().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature3T()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 32 :
|
|
|
+ if (cableInfoLogDTO.getTemperature3V() != null && !cableInfoLogDTO.getTemperature3V().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getTemperature3V()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 33 :
|
|
|
+ if (cableInfoLogDTO.getTemperature3A() != null && cableInfoLogDTO.getTemperature3A() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getTemperature3A());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 34 :
|
|
|
+ if (cableInfoLogDTO.getWaterW() != null && cableInfoLogDTO.getWaterW() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getWaterW());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 35 :
|
|
|
+ if (cableInfoLogDTO.getWaterV() != null && cableInfoLogDTO.getWaterV().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getWaterV()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 36 :
|
|
|
+ if (cableInfoLogDTO.getWaterA() != null && cableInfoLogDTO.getWaterA() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getWaterA());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 37 :
|
|
|
+ if (cableInfoLogDTO.getCh4() != null && cableInfoLogDTO.getCh4() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getCh4());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 38 :
|
|
|
+ if (cableInfoLogDTO.getCo() != null && cableInfoLogDTO.getCo() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getCo());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 39 :
|
|
|
+ if (cableInfoLogDTO.getH2s() != null && cableInfoLogDTO.getH2s() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getH2s());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 40 :
|
|
|
+ if (cableInfoLogDTO.getO2() != null && cableInfoLogDTO.getO2().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getO2()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 41 :
|
|
|
+ if (cableInfoLogDTO.getGasV() != null && cableInfoLogDTO.getGasV().equals("0") && integer != null){
|
|
|
+ dataList.set(integer,Float.valueOf(cableInfoLogDTO.getGasV()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 42 :
|
|
|
+ if (cableInfoLogDTO.getGasA() != null && cableInfoLogDTO.getGasA() != 0 && integer != null){
|
|
|
+ dataList.set(integer,cableInfoLogDTO.getGasA());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ date = new Date(simpleDateFormat2.parse(cableInfoLogDTO.getUpdateTime()).getTime() + timezone * 3600 * 1000);
|
|
|
+ cableInfoLogDTO.setUpdateTime(simpleDateFormat.format(date));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ CableInfoLogVO cableInfoLogVO = new CableInfoLogVO();
|
|
|
+ cableInfoLogVO.setDateList(dateList);
|
|
|
+ cableInfoLogVO.setDataList(dataList);
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,cableInfoLogVO);
|
|
|
+ }
|
|
|
}
|