|
@@ -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);
|