فهرست منبع

Merge branch 'V0.1.1_test' of http://10.87.21.221:8000/jzyd_yyds/soc into V0.1.1_test

jiawuxian 1 سال پیش
والد
کامیت
50ec2ae7b9

+ 1 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysDeviceService.java

@@ -55,6 +55,7 @@ public interface ISysDeviceService extends IService<SysDevice> {
      * @return
      */
     SysDevice checkName(Long orgId, String name);
+    boolean checkAssetNoRepeat(Long orgId, String assetNo);
 
     /**
      * 新增【设备管理】

+ 33 - 11
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeviceServiceImpl.java

@@ -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()) {