diff --git a/wms-bg-statistics/src/main/java/com/wms/api/service/impl/BigScreenServiceImpl.java b/wms-bg-statistics/src/main/java/com/wms/api/service/impl/BigScreenServiceImpl.java index a7beac4..14120b6 100644 --- a/wms-bg-statistics/src/main/java/com/wms/api/service/impl/BigScreenServiceImpl.java +++ b/wms-bg-statistics/src/main/java/com/wms/api/service/impl/BigScreenServiceImpl.java @@ -3,14 +3,14 @@ package com.wms.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.wms.alarm.domain.TbAlarmRealtime; import com.wms.alarm.service.ITbAlarmRealtimeService; import com.wms.api.domian.result.*; import com.wms.api.service.BigScreenService; -import com.wms.basic.domain.TbContainer; -import com.wms.basic.domain.TbStorageBin; -import com.wms.basic.domain.TbWarehouseStock; +import com.wms.basic.domain.*; import com.wms.basic.domain.vo.BasicSkuInfoVo; +import com.wms.basic.mapper.TbStorageBinMapper; import com.wms.basic.service.ITbContainerService; import com.wms.basic.service.ITbSkuService; import com.wms.basic.service.ITbStorageBinService; @@ -18,9 +18,8 @@ import com.wms.basic.service.ITbWarehouseStockService; import com.wms.bigscreen.domian.TbStatsStorageOccupancy; import com.wms.bigscreen.service.ITbStatsStorageOccupancyService; import com.wms.common.core.domain.AjaxResult; -import com.wms.common.enums.basic.EnumContainerStatus; -import com.wms.common.enums.basic.EnumContainerType; -import com.wms.common.enums.basic.EnumLock; +import com.wms.common.enums.basic.*; +import com.wms.common.enums.basic.wareArea.EnumAreaType; import com.wms.common.enums.basic.wareBin.EnumStorageStatus; import com.wms.common.enums.basic.wareBin.EnumStorageType; import com.wms.common.enums.statistics.bigscreen.EnumBigscreenBinStatus; @@ -29,6 +28,8 @@ import com.wms.common.enums.thirdParty.carryTask.EnumCarryTaskBizType; import com.wms.common.enums.thirdParty.carryTask.EnumCarryTaskStatus; import com.wms.common.utils.DateUtils; import com.wms.common.utils.StringUtils; +import com.wms.recommend.service.RecommendService; +import com.wms.recommend.service.impl.RecommendServiceImpl; import com.wms.third.domain.TbThirdPartyCarryTask; import com.wms.third.domain.TbThirdPartyCarryTaskDetail; import com.wms.third.domain.TbThirdPartyRobotInfo; @@ -73,7 +74,10 @@ public class BigScreenServiceImpl implements BigScreenService { private ITbStorageBinService binService; @Resource private ITbSkuService skuService; - + @Resource + private TbStorageBinMapper tbStorageBinMapper; + @Resource + private RecommendServiceImpl recommendServiceImpl; /** * 海康RCS系统获取 @@ -214,6 +218,29 @@ public class BigScreenServiceImpl implements BigScreenService { final AlarmType build = AlarmType.builder().alarmType(k).alarmTypeCount(v).build(); alarmTypes.add(build); }); + //大屏看板告警信息显示吸塑盘空料箱数量 供应商标识data5为B0 + AlarmType emptyBox = new AlarmType(); + MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper() + //查询主表全部字段 + .selectAll(TbStorageBin.class) + .selectAs(TbWareArea::getOrderWeight, TbStorageBin::getOrderWeight) + .selectAs(TbWareArea::getAreaType, TbStorageBin::getAreaType) + .leftJoin(TbWareArea.class, TbWareArea::getWareAreaId, TbStorageBin::getWareAreaId) + .leftJoin(TbWarehouse.class, TbWarehouse::getWarehouseId, TbStorageBin::getWarehouseId) + .eq(TbStorageBin::getManualLocked, EnumLock.NO.getCode()) + .eq(TbStorageBin::getInLocked, EnumLock.NO.getCode()) + .eq(TbStorageBin::getOutLocked, EnumLock.NO.getCode()) + .eq(TbStorageBin::getCountLocked, EnumLock.NO.getCode()) + .eq(TbStorageBin::getInUsing, EnumInUsing.ENABLE.getCode()) + .eq(StringUtils.isNotEmpty(EnumStorageStatus.EMPTY_CONTAINER.getCode()), TbStorageBin::getStorageStatus, EnumStorageStatus.EMPTY_CONTAINER.getCode()) + .eq(StringUtils.isNotEmpty(EnumAreaType.A.getCode()), TbWareArea::getAreaType, EnumAreaType.A.getCode()); + queryWrapper.likeRight(TbStorageBin::getContainer, "B0"); + List storageBins = tbStorageBinMapper.selectList(queryWrapper); + final int size = storageBins.size(); + emptyBox.setAlarmType("emptyBox"); + emptyBox.setAlarmTypeCount(size); + alarmTypes.add(emptyBox); + for (TbAlarmRealtime realtime : list) { final AlarmMessage build = AlarmMessage.builder().message(realtime.getAlarmWords()).alarmTime(realtime.getAlarmTime()).build(); messages.add(build);