Browse Source

质检合格时检查磁盘空间和内存容量

李进 2 years ago
parent
commit
6a8b8c8cc5

+ 18 - 4
device-api-service/src/main/java/com/xy/service/DeviceQualityServiceImpl.java

@@ -13,10 +13,7 @@ import com.xy.device.EnumDeviceQrCode;
 import com.xy.device.EnumDeviceQualityStatus;
 import com.xy.device.EnumDeviceQualityStatus;
 import com.xy.dto.DeviceQualityDto;
 import com.xy.dto.DeviceQualityDto;
 import com.xy.dto.DeviceQualityValueDto;
 import com.xy.dto.DeviceQualityValueDto;
-import com.xy.entity.DeviceInfo;
-import com.xy.entity.DeviceQuality;
-import com.xy.entity.DeviceQualityValue;
-import com.xy.entity.SysDictRedis;
+import com.xy.entity.*;
 import com.xy.error.CommRuntimeException;
 import com.xy.error.CommRuntimeException;
 import com.xy.mapper.DeviceInfoMapper;
 import com.xy.mapper.DeviceInfoMapper;
 import com.xy.mapper.DeviceQualityMapper;
 import com.xy.mapper.DeviceQualityMapper;
@@ -53,6 +50,8 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
 
 
     private DeviceQualityValueServiceImpl deviceQualityValueService;
     private DeviceQualityValueServiceImpl deviceQualityValueService;
 
 
+    private DeviceSysinfoServiceImpl deviceSysinfoService;
+
     private void queryDeviceQualityValue(List<DeviceQualityDto.Vo> list) {
     private void queryDeviceQualityValue(List<DeviceQualityDto.Vo> list) {
         if (Emptys.check(list)) {
         if (Emptys.check(list)) {
             JList<Integer> qualityIds = new JArrayList<>(list).getProperty(DeviceQualityDto.Vo::getQualityId);
             JList<Integer> qualityIds = new JArrayList<>(list).getProperty(DeviceQualityDto.Vo::getQualityId);
@@ -122,8 +121,23 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
     public R update(@RequestBody List<DeviceQualityDto.Vo> vos) {
     public R update(@RequestBody List<DeviceQualityDto.Vo> vos) {
         List<DeviceQuality> deviceQualities = copy(DeviceQuality.class, vos);
         List<DeviceQuality> deviceQualities = copy(DeviceQuality.class, vos);
         LocalDateTime now = LocalDateTime.now();
         LocalDateTime now = LocalDateTime.now();
+        List<DeviceSysinfo> deviceSysinfos = deviceSysinfoService.list(new LambdaQueryWrapper<DeviceSysinfo>().in(DeviceSysinfo::getDeviceId, new JArrayList<>(vos).getProperty(DeviceQualityDto.Vo::getDeviceId)));
+        JMap<Long, DeviceSysinfo> deviceSysinfosJMaps = new JArrayList<>(deviceSysinfos).toMap(DeviceSysinfo::getDeviceId).cover();
+        int qualified = SysDictUtils.getValue(EnumDeviceQualityStatus.Code.CODE.getCode(), EnumDeviceQualityStatus.QUALIFIED.getCode(), Integer.class);
         for (DeviceQuality deviceQuality : deviceQualities) {
         for (DeviceQuality deviceQuality : deviceQualities) {
             if (deviceQuality.getQualityState() != null) {
             if (deviceQuality.getQualityState() != null) {
+                //合格时检查磁盘空间和内存容量
+                if (qualified == deviceQuality.getQualityState()) {
+                    DeviceSysinfo deviceSysinfo = deviceSysinfosJMaps.get(deviceQuality.getDeviceId());
+                    Integer diskSpace = deviceSysinfo.getDiskSpace();
+                    if (diskSpace == null || diskSpace < 2) {
+                        return R.fail(deviceSysinfo.getDeviceId() + "磁盘空间不足");
+                    }
+                    Integer memerySpace = deviceSysinfo.getMemerySpace();
+                    if (memerySpace == null || memerySpace < 1) {
+                        return R.fail(deviceSysinfo.getDeviceId() + "内存容量不足");
+                    }
+                }
                 deviceQuality.setQualityAuditUserId(AuthorizeUtils.getLoginId(Long.class));
                 deviceQuality.setQualityAuditUserId(AuthorizeUtils.getLoginId(Long.class));
             }
             }
             if (deviceQuality.getFactoryState() != null) {
             if (deviceQuality.getFactoryState() != null) {