|
|
@@ -234,6 +234,12 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
|
|
return baseMapper.selectOne(queryWrapper);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean checkAssetNoRepeat(Long orgId, String assetNo) {
|
|
|
+ final Long count = lambdaQuery().eq(SysDevice::getOrgId, orgId).eq(SysDevice::getAssetNo, assetNo).count();
|
|
|
+ return count <= 0;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 新增【请填写功能名称】
|
|
|
* 该方法只适合单个新增,批量导入时,会导致报警主机新增时数据报错
|
|
|
@@ -255,6 +261,9 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
|
|
if (null != sysDevice1) {
|
|
|
throw new RuntimeException("设备名称重复");
|
|
|
}
|
|
|
+ if (!checkAssetNoRepeat(sysDevice.getOrgId(), sysDevice.getAssetNo())) {
|
|
|
+ throw new RuntimeException("资产编号重复");
|
|
|
+ }
|
|
|
int insert = sysDeviceMapper.insert(sysDevice);
|
|
|
/**
|
|
|
* 这块逻辑代码,上层出错时,会导致新增设备出错
|
|
|
@@ -325,6 +334,9 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
|
|
*/
|
|
|
@Override
|
|
|
public int updateSysDevice(SysDevice sysDevice) {
|
|
|
+ if (!checkAssetNoRepeat(sysDevice.getOrgId(), sysDevice.getAssetNo())) {
|
|
|
+ throw new RuntimeException("资产编号重复");
|
|
|
+ }
|
|
|
sysDevice.setUpdateTime(DateUtils.getNowDate());
|
|
|
sysDevice.setUpdateBy(SecurityUtils.getUsername());
|
|
|
SysOrg sysOrg = orgService.selectSysOrgById(sysDevice.getOrgId());
|
|
|
@@ -441,7 +453,7 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
|
|
String orgName = deviceExport.getOrgName();
|
|
|
Optional<SysOrgVO> orgNameOptional = cacheList.stream().filter(sysOrgVO -> sysOrgVO.getShortName().equals(orgName) || sysOrgVO.getName().equals(orgName)).findFirst();
|
|
|
if (!orgNameOptional.isPresent()) {
|
|
|
- msgList.add("账户名称为空");
|
|
|
+ msgList.add("机构名称为空");
|
|
|
} else {
|
|
|
SysOrgVO orgVO = orgNameOptional.get();
|
|
|
device.setOrgId(orgVO.getId());
|
|
|
@@ -453,14 +465,22 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
|
|
if (StringUtils.isEmpty(assetNo)) {
|
|
|
msgList.add("资产编号为空");
|
|
|
} else {
|
|
|
- device.setAssetNo(assetNo);
|
|
|
+ if (device.getOrgId() != null && !checkAssetNoRepeat(device.getOrgId(), assetNo)) {
|
|
|
+ msgList.add("资产编号重复");
|
|
|
+ } else {
|
|
|
+ device.setAssetNo(assetNo);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
String deviceName = deviceExport.getDeviceName();
|
|
|
if (StringUtils.isEmpty(deviceName)) {
|
|
|
msgList.add("设备名称为空");
|
|
|
} else {
|
|
|
- device.setDeviceName(deviceName);
|
|
|
+ if (deviceName.length() > 50) {
|
|
|
+ msgList.add("设备名称长度不能超过50个字符");
|
|
|
+ } else {
|
|
|
+ device.setDeviceName(deviceName);
|
|
|
+ }
|
|
|
}
|
|
|
String assetType = deviceExport.getAssetType();
|
|
|
Optional<DictionaryTreeVo> assetOptional = dictionaryList.stream().filter(r -> ObjectUtil.equal(r.getName(), assetType)).findFirst();
|
|
|
@@ -512,29 +532,31 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
|
|
}
|
|
|
String purchasingTimeStr = deviceExport.getPurchasingTime();
|
|
|
if (StringUtils.isEmpty(purchasingTimeStr)) {
|
|
|
- msgList.add("采购时间未填写");
|
|
|
+ msgList.add("采购日期未填写");
|
|
|
} else {
|
|
|
try {
|
|
|
DateTime purchasingTime = DateUtil.parse(purchasingTimeStr);
|
|
|
device.setPurchasingTime(purchasingTime);
|
|
|
} catch (Exception e) {
|
|
|
- msgList.add("采购时间日期格式错误");
|
|
|
+ msgList.add("采购日期格式错误");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
String address = deviceExport.getAddress();
|
|
|
if (StringUtils.isEmpty(address)) {
|
|
|
msgList.add("安装位置未填写");
|
|
|
+ }else {
|
|
|
+ device.setAddress(address);
|
|
|
}
|
|
|
String checkTimeStr = deviceExport.getCheckTime();
|
|
|
if (StringUtils.isEmpty(checkTimeStr)) {
|
|
|
- msgList.add("消防有效期未填写");
|
|
|
+ msgList.add("消防类有效期未填写");
|
|
|
} else {
|
|
|
try {
|
|
|
DateTime checkTime = DateUtil.parse(checkTimeStr);
|
|
|
device.setCheckTime(checkTime);
|
|
|
} catch (Exception e) {
|
|
|
- msgList.add("消防有效期日期格式错误");
|
|
|
+ msgList.add("消防类有效期日期格式错误");
|
|
|
}
|
|
|
}
|
|
|
String maintenanceTermStr = deviceExport.getMaintenanceTerm();
|
|
|
@@ -550,25 +572,25 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
|
|
|
}
|
|
|
String useTimeStr = deviceExport.getUseTime();
|
|
|
if (StringUtils.isEmpty(useTimeStr)) {
|
|
|
- msgList.add("投产日期未填写");
|
|
|
+ msgList.add("投产时间未填写");
|
|
|
} else {
|
|
|
try {
|
|
|
DateTime useTime = DateUtil.parse(useTimeStr);
|
|
|
device.setUseTime(useTime);
|
|
|
} catch (Exception e) {
|
|
|
- msgList.add("投产日期格式错误");
|
|
|
+ msgList.add("投产时间格式错误");
|
|
|
}
|
|
|
}
|
|
|
String deviceStatus = deviceExport.getDeviceStatus();
|
|
|
if (StringUtils.isEmpty(deviceStatus)) {
|
|
|
- msgList.add("设备状态未填写");
|
|
|
+ msgList.add("资产状态未填写");
|
|
|
} else {
|
|
|
List<SysDictData> dictCache = DictUtils.getDictCache(DictConstants.ASSET_STATUS);
|
|
|
Optional<SysDictData> optional = dictCache.stream().filter(dictData -> dictData.getDictLabel().equals(deviceStatus)).findFirst();
|
|
|
if (optional.isPresent()) {
|
|
|
device.setDeviceStatus(Integer.parseInt(optional.get().getDictValue()));
|
|
|
} else {
|
|
|
- msgList.add("设备状态填写错误");
|
|
|
+ msgList.add("资产状态填写错误");
|
|
|
}
|
|
|
}
|
|
|
if (msgList.isEmpty()) {
|