Parcourir la source

质检增加商户信息

李进 il y a 1 an
Parent
commit
78772bb72a

+ 1 - 1
device-api-service/src/main/java/com/xy/service/DeviceCreateIdsServiceImpl.java

@@ -161,7 +161,7 @@ public class DeviceCreateIdsServiceImpl extends ServiceImpl<DeviceCreateIdsMappe
         }
         //查询绑定商户
         JMap<Long, MercDto.Vo> mercsJMaps;
-        JList<Long> mercIds = new JArrayList<>(records).filter().isNotNull(DeviceCreateIdsDto.Vo::getDeviceQrMercId).list().getProperty(DeviceCreateIdsDto.Vo::getDeviceQrMercId);
+        JList<Long> mercIds = new JArrayList<>(records).filter().isNotNull(DeviceCreateIdsDto.Vo::getDeviceQrMercId).gt(DeviceCreateIdsDto.Vo::getDeviceQrMercId, 0).list().getProperty(DeviceCreateIdsDto.Vo::getDeviceQrMercId);
         if (Emptys.check(mercIds)) {
             List<MercDto.Vo> mercs = mercService.list(new MercDto.SelectList().setMercIds(mercIds)).getData();
             mercsJMaps = new JArrayList<>(mercs).toMap(MercDto.Vo::getId).cover();

+ 35 - 1
device-api-service/src/main/java/com/xy/service/DeviceQualityServiceImpl.java

@@ -7,16 +7,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.collections.list.JArrayList;
 import com.xy.collections.list.JList;
+import com.xy.collections.map.JHashMap;
 import com.xy.collections.map.JMap;
 import com.xy.device.EnumDeviceFactoryStatus;
 import com.xy.device.EnumDeviceQualityStatus;
 import com.xy.device.EnumDeviceQualityThreshold;
 import com.xy.dto.DeviceQualityDto;
 import com.xy.dto.DeviceQualityValueDto;
+import com.xy.dto.be.MercDto;
 import com.xy.entity.*;
 import com.xy.error.CommRuntimeException;
 import com.xy.mapper.DeviceInfoMapper;
 import com.xy.mapper.DeviceQualityMapper;
+import com.xy.service.be.MercService;
 import com.xy.utils.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,17 +57,48 @@ public class DeviceQualityServiceImpl extends ServiceImpl<DeviceQualityMapper, D
 
     private DeviceStatusServiceImpl deviceStatusService;
 
+    private DeviceCreateIdsServiceImpl deviceCreateIdsService;
+
+    private MercService mercService;
+
     private void queryDeviceQualityValue(List<DeviceQualityDto.Vo> list) {
         if (Emptys.check(list)) {
-            JList<Integer> qualityIds = new JArrayList<>(list).getProperty(DeviceQualityDto.Vo::getQualityId);
+            JList<DeviceQualityDto.Vo> deviceQualitys = new JArrayList<>(list);
+            //查询质检值
+            JList<Integer> qualityIds = deviceQualitys.getProperty(DeviceQualityDto.Vo::getQualityId);
             List<DeviceQualityValue> deviceQualityValues = deviceQualityValueService.list(new LambdaQueryWrapper<DeviceQualityValue>().in(DeviceQualityValue::getQualityId, qualityIds));
             JMap<Integer, DeviceQualityValue> deviceQualityValueMap = new JArrayList<>(deviceQualityValues).toMap(DeviceQualityValue::getQualityId).cover();
+            //查询机器ID号
+            List<DeviceCreateIds> deviceCreateIds = deviceCreateIdsService.list(new LambdaQueryWrapper<DeviceCreateIds>()
+                    .in(DeviceCreateIds::getDeviceId, deviceQualitys.getProperty(DeviceQualityDto.Vo::getDeviceId))
+                    .isNotNull(DeviceCreateIds::getDeviceQrMercId)
+                    .ge(DeviceCreateIds::getDeviceQrMercId, 0)
+            );
+            JMap<Long, DeviceCreateIds> deviceCreateIdsJMaps;
+            JMap<Long, MercDto.Vo> mercsJMaps;
+            if (Emptys.check(deviceCreateIds)) {
+                JList<DeviceCreateIds> deviceCreateIdss = new JArrayList<>(deviceCreateIds);
+                deviceCreateIdsJMaps = deviceCreateIdss.toMap(DeviceCreateIds::getDeviceId).cover();
+                JList<Long> mercIds = deviceCreateIdss.getProperty(DeviceCreateIds::getDeviceQrMercId);
+                List<MercDto.Vo> mercs = mercService.list(new MercDto.SelectList().setMercIds(mercIds)).getData();
+                mercsJMaps = new JArrayList<>(mercs).toMap(MercDto.Vo::getId).cover();
+            } else {
+                deviceCreateIdsJMaps = new JHashMap<>();
+                mercsJMaps = new JHashMap<>();
+            }
             list.forEach(vo -> {
+                //质检值信息
                 DeviceQualityValue deviceQualityValue = deviceQualityValueMap.get(vo.getQualityId());
                 if (deviceQualityValue == null) {
                     return;
                 }
                 vo.setDeviceQualityValue(copy(DeviceQualityValueDto.Vo.class, deviceQualityValue));
+                //机器ID号商户信息
+                DeviceCreateIds deviceCreateIdsInfo = deviceCreateIdsJMaps.get(vo.getDeviceId());
+                MercDto.Vo merc = mercsJMaps.get(deviceCreateIdsInfo.getDeviceQrMercId());
+                if (Emptys.check(merc)) {
+                    vo.setDeviceQrMercId(merc.getId()).setDeviceQrMercName(merc.getName());
+                }
             });
         }
     }

+ 36 - 4
device-api-service/src/main/java/com/xy/service/DeviceRegisterServiceImpl.java

@@ -11,17 +11,20 @@ import com.github.yitter.idgen.YitIdHelper;
 import com.xy.annotation.Lock;
 import com.xy.collections.list.JArrayList;
 import com.xy.collections.list.JList;
+import com.xy.collections.map.JHashMap;
 import com.xy.collections.map.JMap;
 import com.xy.config.DeviceThreadPoolConfig;
 import com.xy.dto.DeviceCreateIdsDto;
 import com.xy.dto.DeviceQualityDto;
 import com.xy.dto.DeviceRegisterDto;
+import com.xy.dto.be.MercDto;
 import com.xy.entity.DeviceCreateIds;
 import com.xy.entity.DeviceRegister;
 import com.xy.entity.DeviceSysinfo;
 import com.xy.entity.MqttUser;
 import com.xy.mapper.DeviceCreateIdsMapper;
 import com.xy.mapper.DeviceRegisterMapper;
+import com.xy.service.be.MercService;
 import com.xy.service.factory.device.DeviceFactory;
 import com.xy.utils.*;
 import io.swagger.annotations.Api;
@@ -70,6 +73,8 @@ public class DeviceRegisterServiceImpl extends ServiceImpl<DeviceRegisterMapper,
 
     private DeviceCreateIdsServiceImpl deviceCreateIdsService;
 
+    private MercService mercService;
+
     @PostMapping("save")
     @ApiOperation("添加")
     @Transactional(rollbackFor = Exception.class)
@@ -112,18 +117,45 @@ public class DeviceRegisterServiceImpl extends ServiceImpl<DeviceRegisterMapper,
                 .orderByDesc(!Emptys.check(pageBean.getOrders()), DeviceRegister::getCreateTime);
         IPage<DeviceRegister> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
         PageBean<DeviceRegisterDto.Vo> voPageBean = toPageBean(DeviceRegisterDto.Vo.class, iPage);
-        List<DeviceRegisterDto.Vo> deviceRegisters = voPageBean.getRecords();
-        if (deviceRegisters.size() > 0) {
-            JList<Long> deviceIds = new JArrayList<>(deviceRegisters).getProperty(DeviceRegisterDto.Vo::getDeviceId);
+        List<DeviceRegisterDto.Vo> list = voPageBean.getRecords();
+        if (list.size() > 0) {
+            //查询质检
+            JArrayList<DeviceRegisterDto.Vo> deviceRegisters = new JArrayList<>(list);
+            JList<Long> deviceIds = deviceRegisters.getProperty(DeviceRegisterDto.Vo::getDeviceId);
             List<DeviceQualityDto.Vo> vos = deviceQualityService.list(new DeviceQualityDto.SelectList().setDeviceIds(deviceIds)
                     .setShowStatus(true)
             ).getData();
             JMap<Long, DeviceQualityDto.Vo> map = new JArrayList<>(vos).toMap(DeviceQualityDto.Vo::getDeviceId).cover();
+            //查询机器ID号
+            List<DeviceCreateIds> deviceCreateIds = deviceCreateIdsService.list(new LambdaQueryWrapper<DeviceCreateIds>()
+                    .in(DeviceCreateIds::getDeviceId, deviceIds)
+                    .isNotNull(DeviceCreateIds::getDeviceQrMercId)
+                    .ge(DeviceCreateIds::getDeviceQrMercId, 0)
+            );
+            JMap<Long, DeviceCreateIds> deviceCreateIdsJMaps;
+            JMap<Long, MercDto.Vo> mercsJMaps;
+            if (Emptys.check(deviceCreateIds)) {
+                JList<DeviceCreateIds> deviceCreateIdss = new JArrayList<>(deviceCreateIds);
+                deviceCreateIdsJMaps = deviceCreateIdss.toMap(DeviceCreateIds::getDeviceId).cover();
+                JList<Long> mercIds = deviceCreateIdss.getProperty(DeviceCreateIds::getDeviceQrMercId);
+                List<MercDto.Vo> mercs = mercService.list(new MercDto.SelectList().setMercIds(mercIds)).getData();
+                mercsJMaps = new JArrayList<>(mercs).toMap(MercDto.Vo::getId).cover();
+            } else {
+                deviceCreateIdsJMaps = new JHashMap<>();
+                mercsJMaps = new JHashMap<>();
+            }
             for (DeviceRegisterDto.Vo deviceRegister : deviceRegisters) {
+                //质检信息
                 DeviceQualityDto.Vo vo = map.get(deviceRegister.getDeviceId());
-                if (vo != null) {
+                if (Emptys.check(vo)) {
                     deviceRegister.setFactoryState(vo.getFactoryState()).setQualityState(vo.getQualityState());
                 }
+                //机器ID号商户信息
+                DeviceCreateIds deviceCreateIdsInfo = deviceCreateIdsJMaps.get(deviceRegister.getDeviceId());
+                MercDto.Vo merc = mercsJMaps.get(deviceCreateIdsInfo.getDeviceQrMercId());
+                if (Emptys.check(merc)) {
+                    deviceRegister.setDeviceQrMercId(merc.getId()).setDeviceQrMercName(merc.getName());
+                }
             }
         }
         return R.ok(voPageBean);

+ 6 - 0
device-api/src/main/java/com/xy/dto/DeviceQualityDto.java

@@ -226,5 +226,11 @@ public class DeviceQualityDto {
 
         @ApiModelProperty("质检值对象")
         private DeviceQualityValueDto.Vo deviceQualityValue;
+
+        @ApiModelProperty("设备二维码商户id")
+        private Long deviceQrMercId;
+
+        @ApiModelProperty("设备二维码商户名称")
+        private String deviceQrMercName;
     }
 }

+ 6 - 0
device-api/src/main/java/com/xy/dto/DeviceRegisterDto.java

@@ -135,6 +135,12 @@ public class DeviceRegisterDto {
 
         @ApiModelProperty("合格状态")
         private Integer qualityState;
+
+        @ApiModelProperty("设备二维码商户id")
+        private Long deviceQrMercId;
+
+        @ApiModelProperty("设备二维码商户名称")
+        private String deviceQrMercName;
     }
 
 }