|
@@ -2,10 +2,14 @@ package com.welampiot.controller;
|
|
|
|
|
|
import com.welampiot.common.BaseResult;
|
|
|
import com.welampiot.common.InterfaceResultEnum;
|
|
|
+import com.welampiot.dto.GlobalLocationDTO;
|
|
|
import com.welampiot.dto.LampInfoDTO;
|
|
|
import com.welampiot.dto.RadarDevInfoDTO;
|
|
|
+import com.welampiot.dto.SectionDTO;
|
|
|
+import com.welampiot.service.GlobalLocationService;
|
|
|
import com.welampiot.service.LampService;
|
|
|
import com.welampiot.service.RadarDevInfoService;
|
|
|
+import com.welampiot.service.SectionService;
|
|
|
import com.welampiot.utils.ExcelUtil;
|
|
|
import com.welampiot.utils.ToolUtils;
|
|
|
import com.welampiot.vo.RadarDevInfoVO;
|
|
@@ -14,12 +18,11 @@ import org.springframework.web.bind.annotation.CrossOrigin;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* ClassName: RadarDeviceController
|
|
@@ -40,6 +43,10 @@ public class RadarDeviceController {
|
|
|
private ToolUtils toolUtils;
|
|
|
@Autowired
|
|
|
private LampService lampService;
|
|
|
+ @Autowired
|
|
|
+ private SectionService sectionService;
|
|
|
+ @Autowired
|
|
|
+ private GlobalLocationService globalLocationService;
|
|
|
|
|
|
/**
|
|
|
* 雷达数据统计
|
|
@@ -245,4 +252,122 @@ public class RadarDeviceController {
|
|
|
radarDevInfoService.deleteRadarData(ids);
|
|
|
return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量添加雷达传感器
|
|
|
+ * @param radarDevInfoVO 雷达传感器
|
|
|
+ * @return 批量添加雷达传感器
|
|
|
+ */
|
|
|
+ @PostMapping("/batchInput")
|
|
|
+ private BaseResult<?> batchInput(RadarDevInfoVO radarDevInfoVO) {
|
|
|
+ int version = radarDevInfoVO.getVersion() == null ? 0 : radarDevInfoVO.getVersion();
|
|
|
+ Integer sectionId = radarDevInfoVO.getSectionId();
|
|
|
+ Integer areaId = radarDevInfoVO.getAreaId();
|
|
|
+ Integer type = radarDevInfoVO.getType();
|
|
|
+ if (sectionId == null || sectionId == 0 || areaId == null || areaId == 0)
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
+ MultipartFile file = radarDevInfoVO.getFile();
|
|
|
+ if (type == 1) { // 验证
|
|
|
+ if (file.isEmpty()) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
|
|
|
+ List<Map> maps = ExcelUtil.inExcel(file);
|
|
|
+ List<Object> msg = new ArrayList<>();
|
|
|
+ List<RadarDevInfoDTO> radarData = new ArrayList<>();
|
|
|
+ int index = 1;
|
|
|
+ HashMap<String, String> temp = new HashMap<>();
|
|
|
+ HashMap<String, String> temp1 = new HashMap<>();
|
|
|
+ if (maps.size() > 0) {
|
|
|
+ for (Map m : maps) {
|
|
|
+ RadarDevInfoDTO radarDevInfoDTO = new RadarDevInfoDTO();
|
|
|
+ String number = m.get(0).toString();
|
|
|
+ String address = m.get(3).toString();
|
|
|
+ String longitude = m.get(10).toString();
|
|
|
+ String latitude = m.get(11).toString();
|
|
|
+ radarDevInfoDTO.setNumber(number);
|
|
|
+ radarDevInfoDTO.setAddress(address);
|
|
|
+ radarDevInfoDTO.setLongitude(Double.valueOf(longitude));
|
|
|
+ radarDevInfoDTO.setLatitude(Double.valueOf(latitude));
|
|
|
+ SectionDTO oneById = sectionService.getOneById(sectionId);
|
|
|
+ radarDevInfoDTO.setSection(oneById.getName());
|
|
|
+ GlobalLocationDTO oneById1 = globalLocationService.getOneById(areaId);
|
|
|
+ radarDevInfoDTO.setArea(oneById1.getChineseName());
|
|
|
+ radarData.add(radarDevInfoDTO);
|
|
|
+
|
|
|
+ RadarDevInfoDTO radarDevInfoDTO1 = new RadarDevInfoDTO();
|
|
|
+ radarDevInfoDTO1.setNumber(radarDevInfoDTO1.getNumber());
|
|
|
+ radarDevInfoDTO1.setSectionId(sectionId);
|
|
|
+ if (radarDevInfoService.checkRadarData(radarDevInfoDTO1) > 0) {
|
|
|
+ if (version == 0) {
|
|
|
+ msg.add("表格第" + index + "行雷达编号已经存在");
|
|
|
+ }else if (version == 1) {
|
|
|
+ msg.add("Table " + index + " row radar number already exists");
|
|
|
+ }else {
|
|
|
+ msg.add("Номер радара в таблице номер " + index + " уже существует");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ radarDevInfoDTO1 = new RadarDevInfoDTO();
|
|
|
+ radarDevInfoDTO1.setAddress(radarDevInfoDTO.getAddress());
|
|
|
+ if (radarDevInfoService.checkRadarData(radarDevInfoDTO1) > 0) {
|
|
|
+ if (version == 0) {
|
|
|
+ msg.add("表格第" + index + "行雷达地址已经存在");
|
|
|
+ }else if (version == 1) {
|
|
|
+ msg.add("Table " + index + " row radar address already exists");
|
|
|
+ }else {
|
|
|
+ msg.add("Адрес радара в строке номер " + index + " уже существует");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (temp.containsKey(radarDevInfoDTO1.getNumber())) {
|
|
|
+ if (version == 0) {
|
|
|
+ msg.add("表格第" + index + "行雷达编号已经存在");
|
|
|
+ }else if (version == 1) {
|
|
|
+ msg.add("Table " + index + " row radar number already exists");
|
|
|
+ }else {
|
|
|
+ msg.add("Номер радара в таблице номер " + index + " уже существует");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (temp1.containsKey(radarDevInfoDTO1.getAddress())) {
|
|
|
+ if (version == 0) {
|
|
|
+ msg.add("表格第" + index + "行雷达地址已经存在");
|
|
|
+ }else if (version == 1) {
|
|
|
+ msg.add("Table " + index + " row radar address already exists");
|
|
|
+ }else {
|
|
|
+ msg.add("Адрес радара в строке номер " + index + " уже существует");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ temp.put(radarDevInfoDTO.getNumber(),radarDevInfoDTO.getNumber());
|
|
|
+ temp1.put(radarDevInfoDTO.getAddress(),radarDevInfoDTO.getAddress());
|
|
|
+ index ++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ RadarDevInfoVO radarDevInfoVO1 = new RadarDevInfoVO();
|
|
|
+ radarDevInfoVO1.setMsg(msg);
|
|
|
+ radarDevInfoVO1.setRadarData(radarData);
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,radarDevInfoVO1);
|
|
|
+ } else { // 创建
|
|
|
+ List<RadarDevInfoDTO> radarData = radarDevInfoVO.getRadarData();
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ for (RadarDevInfoDTO m : radarData) {
|
|
|
+ String number = m.getNumber();
|
|
|
+ String address = m.getAddress();
|
|
|
+ Double longitude = m.getLongitude();
|
|
|
+ Double latitude = m.getLatitude();
|
|
|
+ RadarDevInfoDTO radarDevInfoDTO = new RadarDevInfoDTO();
|
|
|
+ radarDevInfoDTO.setAddress(address);
|
|
|
+ radarDevInfoDTO.setNumber(number);
|
|
|
+ radarDevInfoDTO.setLongitude(longitude);
|
|
|
+ radarDevInfoDTO.setLatitude(latitude);
|
|
|
+ radarDevInfoDTO.setAreaId(areaId);
|
|
|
+ radarDevInfoDTO.setSectionId(sectionId);
|
|
|
+ long timeMillis = System.currentTimeMillis();
|
|
|
+ String createTime = format.format(timeMillis);
|
|
|
+ radarDevInfoDTO.setCreateTime(createTime);
|
|
|
+ radarDevInfoDTO.setUpdateTime(createTime);
|
|
|
+ radarDevInfoService.addRadarDev(radarDevInfoDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
|
|
|
+ }
|
|
|
}
|