package com.qianwen.smartman.modules.fms.service.impl; import java.util.Arrays; import java.util.List; import org.apache.commons.compress.utils.Lists; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.base.Joiner; import com.qianwen.core.mp.base.BaseServiceImpl; import com.qianwen.core.mp.support.Query; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.common.utils.Lambda; import com.qianwen.smartman.common.websocket.fms.FmsVisualDataRequestMessage; import com.qianwen.smartman.common.websocket.fms.FmsVisualDataResponseMessage; import com.qianwen.smartman.modules.fms.convert.FmsAbnormalConvert; import com.qianwen.smartman.modules.fms.convert.FmsInstructionRecordConvert; import com.qianwen.smartman.modules.fms.entity.FmsAbnormal; import com.qianwen.smartman.modules.fms.entity.FmsInstructionRecord; import com.qianwen.smartman.modules.fms.enums.InstructionEnum; import com.qianwen.smartman.modules.fms.enums.OrderStatusEnum; import com.qianwen.smartman.modules.fms.mapper.FmsAbnormalMapper; import com.qianwen.smartman.modules.fms.service.IFmsAbnormalService; import com.qianwen.smartman.modules.fms.service.IFmsInstructionRecordService; import com.qianwen.smartman.modules.fms.service.IFmsOrderService; import com.qianwen.smartman.modules.fms.vo.FmsInstructionRecordVO; import com.qianwen.smartman.modules.fms.vo.FmsOrderQueryVO; import com.qianwen.smartman.modules.fms.vo.FmsOrderVO; import com.qianwen.smartman.modules.fms.vo.FmsVO; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/fms/service/impl/FmsAbnormalServiceImpl.class */ public class FmsAbnormalServiceImpl extends BaseServiceImpl implements IFmsAbnormalService { private final IFmsOrderService fmsOrderService; private final IFmsInstructionRecordService fmsInstructionRecordService; public FmsAbnormalServiceImpl(final IFmsOrderService fmsOrderService, final IFmsInstructionRecordService fmsInstructionRecordService) { this.fmsOrderService = fmsOrderService; this.fmsInstructionRecordService = fmsInstructionRecordService; } @Override // org.springblade.modules.fms.service.IFmsAbnormalService public FmsVO getFms() { FmsVO fmsVO = new FmsVO(); List instructionRecordVOList = Lists.newArrayList(); FmsOrderQueryVO fmsOrderQueryVO = new FmsOrderQueryVO(); List integers = Arrays.asList(Integer.valueOf(OrderStatusEnum.WAIT_MACHINE.getValue()), Integer.valueOf(OrderStatusEnum.MACH_ING.getValue()), Integer.valueOf(OrderStatusEnum.PAUSE_ING.getValue())); String status = Joiner.on(",").join(integers); fmsOrderQueryVO.setOrderStatus(status); IPage pageOrder = this.fmsOrderService.getPageOrder(fmsOrderQueryVO, new Query().setSize(-1)); List records = pageOrder.getRecords(); if (Func.isNotEmpty(records)) { fmsVO.setFmsOrderVOList(records); } List fmsAbnormalList = list(Lambda.create().orderByDesc(FmsAbnormal::getCreateTime).limit(10)); /* List fmsAbnormalList = list(((ExtraLambdaQueryWrapper) Lambda.create().orderByDesc((v0) -> { return v0.getCreateTime(); })).limit(10));*/ fmsVO.setAbnormalList(FmsAbnormalConvert.INSTANCE.convert(fmsAbnormalList)); List instructionRecordList = this.fmsInstructionRecordService.list(Lambda.create().orderByDesc(FmsInstructionRecord::getCreateTime).limit(10)); /* List instructionRecordList = this.fmsInstructionRecordService.list(((ExtraLambdaQueryWrapper) Lambda.create().orderByDesc((v0) -> { return v0.getCreateTime(); })).limit(10));*/ instructionRecordList.forEach(x -> { FmsInstructionRecordVO fmsInstructionRecordVO = FmsInstructionRecordConvert.INSTANCE.convert(x); fmsInstructionRecordVO.setStateName(InstructionEnum.of(x.getState()).getDesc()); instructionRecordVOList.add(fmsInstructionRecordVO); }); fmsVO.setInstructionRecordVOList(instructionRecordVOList); return fmsVO; } @Override // org.springblade.modules.fms.service.IFmsAbnormalService public FmsVisualDataResponseMessage pushMessage(FmsVisualDataRequestMessage visualData) { visualData.getFmsAreaList(); visualData.getFmsCarryList(); visualData.getFmsManualStationList(); visualData.getFmsWorkstationList(); return null; } }