diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java index a7e69cb..e1ac2e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java @@ -21,7 +21,6 @@ import org.springframework.web.multipart.MultipartFile; import java.sql.BatchUpdateException; -import java.util.Date; import java.util.List; /** @@ -107,8 +106,7 @@ */ @PostMapping(value = "/add") public Object add(Device device) { - device.setCreateTime(new Date()); - device.setUpdateTime(device.getCreateTime()); + device.defaultCreateSetter(); try { deviceService.insert(device); } catch (Exception ex) { @@ -188,7 +186,6 @@ if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } - return ResponseData.success(deviceService.selectDeviceDataById(id, (deviceNo) -> { Long dataId = dataService.selectRealMiniteData(deviceNo, null); return dataId == null ? new BizMiniteData() : dataService.selectById(id); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java index a7e69cb..e1ac2e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java @@ -21,7 +21,6 @@ import org.springframework.web.multipart.MultipartFile; import java.sql.BatchUpdateException; -import java.util.Date; import java.util.List; /** @@ -107,8 +106,7 @@ */ @PostMapping(value = "/add") public Object add(Device device) { - device.setCreateTime(new Date()); - device.setUpdateTime(device.getCreateTime()); + device.defaultCreateSetter(); try { deviceService.insert(device); } catch (Exception ex) { @@ -188,7 +186,6 @@ if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } - return ResponseData.success(deviceService.selectDeviceDataById(id, (deviceNo) -> { Long dataId = dataService.selectRealMiniteData(deviceNo, null); return dataId == null ? new BizMiniteData() : dataService.selectById(id); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java b/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java index 5f6d4c9..e5d62a3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java @@ -12,6 +12,7 @@ import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.device.model.dto.DeviceDTO; import com.casic.missiles.modular.device.model.vo.DeviceVO; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.Dict; import com.fasterxml.jackson.annotation.JsonFormat; @@ -148,24 +149,19 @@ /** * 导入映射 */ - public static final Map importMppers = new HashMap<>(12); + public static final Map importMappers = new HashMap<>(12); static { - importMppers.put("设备编号", "deviceNo"); - importMppers.put("设备名称", "deviceName"); - //需要转换 - importMppers.put("设备类型", "type"); - - importMppers.put("省编号", "provinceCode"); - importMppers.put("城市编号", "cityCode"); - importMppers.put("区编码", "areaCode"); - importMppers.put("详细地址", "position"); - importMppers.put("经度", "lng"); - importMppers.put("纬度", "lat"); - importMppers.put("备注", "notes"); - //需要转换 - importMppers.put("所属管理组织", "deptId"); - importMppers.put("安装时间", "installDateFmt"); + importMappers.put("设备编号", "deviceNo"); + importMappers.put("点位名称", "deviceName"); + importMappers.put("设备类型", "type"); + importMappers.put("区/县", "areaCode"); + importMappers.put("详细地址", "position"); + importMappers.put("经度", "lng"); + importMappers.put("纬度", "lat"); + importMappers.put("备注", "notes"); + importMappers.put("权属单位", "deptId"); + importMappers.put("安装时间", "installDateFmt"); } /** @@ -174,11 +170,11 @@ * @param envDeviceTypes 字典列表 * @param deptFunction 组织检索 */ - public void changeImportData(List envDeviceTypes, Function deptFunction) { + public void changeImportData(List envDeviceTypes, Function deptFunction, Function areaFunction) { // 所属组织名称 - if (ToolUtil.isOneEmpty(deptId, type)) { + if (ToolUtil.isEmpty(deptId)) { GunsException msg = new GunsException(BizExceptionEnum.SERVER_ERROR); - msg.setMessage("所属组织及设备类型为必填项"); + msg.setMessage("所属组织为必填项"); throw msg; } DecimalFormat format = new DecimalFormat("0.000000"); @@ -191,20 +187,34 @@ if (ToolUtil.isNotEmpty(installDateFmt)) { installDate = DateUtil.parseDate(installDateFmt); } - //导入数据转换操作 设备类型转换为 - if (ToolUtil.isNotEmpty(type)) { - type = convertDictValue(type, envDeviceTypes, true); - } - Dept dept = deptFunction.apply(deptId); if (ToolUtil.isOneEmpty(dept, dept.getId())) { GunsException msg = new GunsException(BizExceptionEnum.SERVER_ERROR); - msg.setMessage("\"" + deptId + "\"不存在"); + msg.setMessage(deptId + " 不存在"); throw msg; } - deptId = String.valueOf(dept.getId()); + Area area = areaFunction.apply(areaCode); + if (area == null) { + GunsException msg = new GunsException(BizExceptionEnum.SERVER_ERROR); + msg.setMessage(areaCode + " 区/县不存在"); + throw msg; + } + Area city = areaFunction.apply(String.valueOf(area.getPid())); + cityCode = area.getPid() + ""; + provinceCode = city.getPid() + ""; + deptId = String.valueOf(dept.getId()); + } + + /** + * 默认设置 + */ + public void defaultCreateSetter() { + this.type = "1"; + this.delFlag = "0"; + this.setCreateTime(new Date()); + this.setUpdateTime(this.getCreateTime()); } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java index a7e69cb..e1ac2e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/device/controller/DeviceController.java @@ -21,7 +21,6 @@ import org.springframework.web.multipart.MultipartFile; import java.sql.BatchUpdateException; -import java.util.Date; import java.util.List; /** @@ -107,8 +106,7 @@ */ @PostMapping(value = "/add") public Object add(Device device) { - device.setCreateTime(new Date()); - device.setUpdateTime(device.getCreateTime()); + device.defaultCreateSetter(); try { deviceService.insert(device); } catch (Exception ex) { @@ -188,7 +186,6 @@ if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } - return ResponseData.success(deviceService.selectDeviceDataById(id, (deviceNo) -> { Long dataId = dataService.selectRealMiniteData(deviceNo, null); return dataId == null ? new BizMiniteData() : dataService.selectById(id); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java b/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java index 5f6d4c9..e5d62a3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/device/model/Device.java @@ -12,6 +12,7 @@ import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.device.model.dto.DeviceDTO; import com.casic.missiles.modular.device.model.vo.DeviceVO; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.Dict; import com.fasterxml.jackson.annotation.JsonFormat; @@ -148,24 +149,19 @@ /** * 导入映射 */ - public static final Map importMppers = new HashMap<>(12); + public static final Map importMappers = new HashMap<>(12); static { - importMppers.put("设备编号", "deviceNo"); - importMppers.put("设备名称", "deviceName"); - //需要转换 - importMppers.put("设备类型", "type"); - - importMppers.put("省编号", "provinceCode"); - importMppers.put("城市编号", "cityCode"); - importMppers.put("区编码", "areaCode"); - importMppers.put("详细地址", "position"); - importMppers.put("经度", "lng"); - importMppers.put("纬度", "lat"); - importMppers.put("备注", "notes"); - //需要转换 - importMppers.put("所属管理组织", "deptId"); - importMppers.put("安装时间", "installDateFmt"); + importMappers.put("设备编号", "deviceNo"); + importMappers.put("点位名称", "deviceName"); + importMappers.put("设备类型", "type"); + importMappers.put("区/县", "areaCode"); + importMappers.put("详细地址", "position"); + importMappers.put("经度", "lng"); + importMappers.put("纬度", "lat"); + importMappers.put("备注", "notes"); + importMappers.put("权属单位", "deptId"); + importMappers.put("安装时间", "installDateFmt"); } /** @@ -174,11 +170,11 @@ * @param envDeviceTypes 字典列表 * @param deptFunction 组织检索 */ - public void changeImportData(List envDeviceTypes, Function deptFunction) { + public void changeImportData(List envDeviceTypes, Function deptFunction, Function areaFunction) { // 所属组织名称 - if (ToolUtil.isOneEmpty(deptId, type)) { + if (ToolUtil.isEmpty(deptId)) { GunsException msg = new GunsException(BizExceptionEnum.SERVER_ERROR); - msg.setMessage("所属组织及设备类型为必填项"); + msg.setMessage("所属组织为必填项"); throw msg; } DecimalFormat format = new DecimalFormat("0.000000"); @@ -191,20 +187,34 @@ if (ToolUtil.isNotEmpty(installDateFmt)) { installDate = DateUtil.parseDate(installDateFmt); } - //导入数据转换操作 设备类型转换为 - if (ToolUtil.isNotEmpty(type)) { - type = convertDictValue(type, envDeviceTypes, true); - } - Dept dept = deptFunction.apply(deptId); if (ToolUtil.isOneEmpty(dept, dept.getId())) { GunsException msg = new GunsException(BizExceptionEnum.SERVER_ERROR); - msg.setMessage("\"" + deptId + "\"不存在"); + msg.setMessage(deptId + " 不存在"); throw msg; } - deptId = String.valueOf(dept.getId()); + Area area = areaFunction.apply(areaCode); + if (area == null) { + GunsException msg = new GunsException(BizExceptionEnum.SERVER_ERROR); + msg.setMessage(areaCode + " 区/县不存在"); + throw msg; + } + Area city = areaFunction.apply(String.valueOf(area.getPid())); + cityCode = area.getPid() + ""; + provinceCode = city.getPid() + ""; + deptId = String.valueOf(dept.getId()); + } + + /** + * 默认设置 + */ + public void defaultCreateSetter() { + this.type = "1"; + this.delFlag = "0"; + this.setCreateTime(new Date()); + this.setUpdateTime(this.getCreateTime()); } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/device/service/impl/DeviceServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/device/service/impl/DeviceServiceImpl.java index b1dd518..7bf8640 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/device/service/impl/DeviceServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/device/service/impl/DeviceServiceImpl.java @@ -119,7 +119,7 @@ List envDeviceTypes = permissionService.findInDictByCode("envDeviceType"); List results = new ArrayList<>(); try (InputStream in = file.getInputStream()) { - ExcelIO.read(in, Device.importMppers, Device.class, (row) -> { + ExcelIO.read(in, Device.importMappers, Device.class, (row) -> { //仅读取第一个sheet if (row.getSheet() == 0) { if (row.getResult() != null) { @@ -127,13 +127,16 @@ if (ToolUtil.isEmpty(device.getDeviceNo())) { return; } + device.changeImportData(envDeviceTypes, (deptName) -> { Page page = new PageFactory().defaultPage(); page.setSize(Integer.MAX_VALUE); List list = deptService.getSubDeptObjPage(null, null, deptName, null, page, null); - return list == null ? null : list.get(0); - }); + return list == null ? null : list.get(0);}, expandComponentService::getAreaById); + // 设置默认数据 + device.defaultCreateSetter(); results.add(device); + } } else { log.info("当前sheet" + row.getSheet() + ",停止读取");