package com.qianwen.smartman.modules.andon.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import java.lang.invoke.SerializedLambda; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.common.constant.NotifyConstant; import com.qianwen.smartman.common.utils.AbstractSqlAdapter; import com.qianwen.smartman.common.utils.Lambda; import com.qianwen.smartman.common.utils.MessageUtils; import com.qianwen.core.log.exception.ServiceException; import com.qianwen.core.mp.base.BaseServiceImpl; import com.qianwen.core.mp.support.Condition; import com.qianwen.core.mp.support.Query; import com.qianwen.core.tool.utils.DateUtil; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.modules.andon.convert.AndonRecordConvert; import com.qianwen.smartman.modules.andon.convert.AndonRecordReasonConvert; import com.qianwen.smartman.modules.andon.entity.AndonRecord; import com.qianwen.smartman.modules.andon.entity.AndonRecordReason; import com.qianwen.smartman.modules.andon.enums.AndonRecordStatusEnum; import com.qianwen.smartman.modules.andon.enums.AndonStatusEnum; import com.qianwen.smartman.modules.andon.mapper.AndonRecordMapper; import com.qianwen.smartman.modules.andon.service.IAndonRecordReasonService; import com.qianwen.smartman.modules.andon.service.IAndonRecordService; import com.qianwen.smartman.modules.andon.vo.AndonFinishRecordVO; import com.qianwen.smartman.modules.andon.vo.AndonMessageSendVO; import com.qianwen.smartman.modules.andon.vo.AndonReceiveEditRecordVO; import com.qianwen.smartman.modules.andon.vo.AndonReceiveRecordVO; import com.qianwen.smartman.modules.andon.vo.AndonRecordReasonVO; import com.qianwen.smartman.modules.andon.vo.AndonRecordSearchVO; import com.qianwen.smartman.modules.andon.vo.AndonRecordVO; import com.qianwen.smartman.modules.andon.vo.AndonStatisticalCardVO; import com.qianwen.smartman.modules.andon.vo.AndonTableStatisticalVO; import com.qianwen.smartman.modules.andon.vo.HmiAndonVO; import com.qianwen.smartman.modules.cps.entity.Workstation; import com.qianwen.smartman.modules.cps.service.IWorkstationService; import com.qianwen.smartman.modules.notify.business.BusinessSend; import com.qianwen.smartman.modules.notify.business.BusinessSendFactory; import com.qianwen.smartman.modules.notify.dto.NotifyBusinessSendDTO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/andon/service/impl/AndonRecordServiceImpl.class */ public class AndonRecordServiceImpl extends BaseServiceImpl implements IAndonRecordService { private static final Logger log = LoggerFactory.getLogger(AndonRecordServiceImpl.class); private final IAndonRecordReasonService recordReasonService; private final IWorkstationService workstationService; private final BusinessSendFactory businessSendFactory; public AndonRecordServiceImpl(final IAndonRecordReasonService recordReasonService, final IWorkstationService workstationService, final BusinessSendFactory businessSendFactory) { this.recordReasonService = recordReasonService; this.workstationService = workstationService; this.businessSendFactory = businessSendFactory; } @Override // org.springblade.modules.andon.service.IAndonRecordService public IPage pageReceiveList(AndonRecordSearchVO andonRecordSearchVO, Query query) { List list = this.recordReasonService.list(); Map> recordReasonMap = null; if (Func.isNotEmpty(list)) recordReasonMap = (Map>)list.stream().collect(Collectors.groupingBy(AndonRecordReason::getRecordId)); Map workstationMap = (Map)this.workstationService.list().stream().collect(Collectors.toMap(Workstation::getId, Function.identity())); Integer andonStatus = andonRecordSearchVO.getAndonStatus(); List recordStatus = new ArrayList<>(); if (AndonRecordStatusEnum.FINISH.getCode().equals(andonStatus)) { List toBeAndReceiveStatus = Arrays.asList(new Integer[] { AndonRecordStatusEnum.TO_BE_RECEIVED.getCode(), AndonRecordStatusEnum.RECEIVED.getCode() }); recordStatus.addAll(toBeAndReceiveStatus); } else { recordStatus.add(andonStatus); } IPage page = page(Condition.getPage(query), Wrappers.lambdaQuery() .eq(Func.isNotEmpty(andonRecordSearchVO.getTypeId()), AndonRecord::getTypeId, andonRecordSearchVO.getTypeId()) .in(Func.isNotEmpty(andonRecordSearchVO.getCallEmpIds()), AndonRecord::getCallEmpId, andonRecordSearchVO.getCallEmpIds()) .in(Func.isNotEmpty(andonRecordSearchVO.getHandEmpIds()), AndonRecord::getHandEmpId, andonRecordSearchVO.getHandEmpIds()) .in(Func.isNotEmpty(andonRecordSearchVO.getWorkstationIds()), AndonRecord::getWorkstationId, andonRecordSearchVO.getWorkstationIds()) .in(Func.isNotEmpty(recordStatus), AndonRecord::getCurStatus, recordStatus) .between((Func.isNotEmpty(andonRecordSearchVO.getStartTime()) && Func.isNotEmpty(andonRecordSearchVO.getEndTime())), AndonRecord::getCallTime, andonRecordSearchVO.getStartTime(), andonRecordSearchVO.getEndTime()) .orderByAsc(AndonRecord::getCallTime)); IPage andonRecordPage = AndonRecordConvert.INSTANCE.convert(page); List records = andonRecordPage.getRecords(); if (Func.isNotEmpty(records)) { Map> finalRecordReasonMap = recordReasonMap; records.forEach(record -> { if (!workstationMap.isEmpty()) { Workstation workstation = (Workstation)workstationMap.get(record.getWorkstationId()); if (workstation != null) record.setAvatar(workstation.getAvatar()); } if (!finalRecordReasonMap.isEmpty()) { List recordReasons = (List)finalRecordReasonMap.get(record.getId()); if (Func.isNotEmpty(recordReasons)) { String reason = recordReasons.stream().map(AndonRecordReason::getReasonName).collect(Collectors.joining(";")); record.setReasons(reason); } } }); } return andonRecordPage; /* List list = this.recordReasonService.list(); Map> recordReasonMap = null; if (Func.isNotEmpty(list)) { recordReasonMap = (Map) list.stream().collect(Collectors.groupingBy((v0) -> { return v0.getRecordId(); })); } Map workstationMap = (Map) this.workstationService.list().stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, Function.identity())); Integer andonStatus = andonRecordSearchVO.getAndonStatus(); List recordStatus = new ArrayList<>(); if (AndonRecordStatusEnum.FINISH.getCode().equals(andonStatus)) { List toBeAndReceiveStatus = Arrays.asList(AndonRecordStatusEnum.TO_BE_RECEIVED.getCode(), AndonRecordStatusEnum.RECEIVED.getCode()); recordStatus.addAll(toBeAndReceiveStatus); } else { recordStatus.add(andonStatus); } IPage page = page(Condition.getPage(query), (Wrapper) Wrappers.lambdaQuery().eq(Func.isNotEmpty(andonRecordSearchVO.getTypeId()), (v0) -> { return v0.getTypeId(); }, andonRecordSearchVO.getTypeId()).in(Func.isNotEmpty(andonRecordSearchVO.getCallEmpIds()), (v0) -> { return v0.getCallEmpId(); }, andonRecordSearchVO.getCallEmpIds()).in(Func.isNotEmpty(andonRecordSearchVO.getHandEmpIds()), (v0) -> { return v0.getHandEmpId(); }, andonRecordSearchVO.getHandEmpIds()).in(Func.isNotEmpty(andonRecordSearchVO.getWorkstationIds()), (v0) -> { return v0.getWorkstationId(); }, andonRecordSearchVO.getWorkstationIds()).in(Func.isNotEmpty(recordStatus), (v0) -> { return v0.getCurStatus(); }, recordStatus).between(Func.isNotEmpty(andonRecordSearchVO.getStartTime()) && Func.isNotEmpty(andonRecordSearchVO.getEndTime()), (v0) -> { return v0.getCallTime(); }, andonRecordSearchVO.getStartTime(), andonRecordSearchVO.getEndTime()).orderByAsc((v0) -> { return v0.getCallTime(); })); IPage andonRecordPage = AndonRecordConvert.INSTANCE.convert(page); List records = andonRecordPage.getRecords(); if (Func.isNotEmpty(records)) { Map> finalRecordReasonMap = recordReasonMap; records.forEach(record -> { Workstation workstation; if (!workstationMap.isEmpty() && (workstation = (Workstation) workstationMap.get(record.getWorkstationId())) != null) { record.setAvatar(workstation.getAvatar()); } if (!finalRecordReasonMap.isEmpty()) { List recordReasons = (List) finalRecordReasonMap.get(record.getId()); if (Func.isNotEmpty(recordReasons)) { String reason = (String) recordReasons.stream().map((v0) -> { return v0.getReasonName(); }).collect(Collectors.joining(";")); record.setReasons(reason); } } }); } return andonRecordPage; */ } @Override // org.springblade.modules.andon.service.IAndonRecordService public AndonReceiveRecordVO receiveRecordDetail(String id) { AndonRecord andonRecord = (AndonRecord)getById(id); if (Func.isEmpty(andonRecord)) throw new ServiceException(MessageUtils.message("andon.record.detail.loading.fail", new Object[0])); List recordReasonsList = null; List list = this.recordReasonService.list(Wrappers.lambdaQuery().eq(AndonRecordReason::getRecordId, andonRecord.getId())); if (Func.isNotEmpty(list)) recordReasonsList = list; return buildAndonDetail(andonRecord, recordReasonsList);/* AndonRecord andonRecord = (AndonRecord) getById(id); if (Func.isEmpty(andonRecord)) { throw new ServiceException(MessageUtils.message("andon.record.detail.loading.fail", new Object[0])); } List recordReasonsList = null; List list = this.recordReasonService.list((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getRecordId(); }, andonRecord.getId())); if (Func.isNotEmpty(list)) { recordReasonsList = list; } return buildAndonDetail(andonRecord, recordReasonsList); */ } private AndonReceiveRecordVO buildAndonDetail(AndonRecord andonRecord, List recordReasons) { AndonReceiveRecordVO andonReceiveRecordVO = AndonRecordConvert.INSTANCE.convertVO(andonRecord); andonReceiveRecordVO.setReasonList(AndonRecordReasonConvert.INSTANCE.convert(recordReasons)); return andonReceiveRecordVO; } @Override // org.springblade.modules.andon.service.IAndonRecordService @Transactional(rollbackFor = {Exception.class}) public Boolean batchReceiveAndonRecord(List ids) { List invalidAndonStatus = Arrays.asList(new Integer[] { AndonRecordStatusEnum.RECEIVED.getCode(), AndonRecordStatusEnum.FINISH.getCode() }); List list = list(Wrappers.lambdaQuery().in(AndonRecord::getId, ids)); checkBatchReceive(list, invalidAndonStatus); List andonRecordUpdateList = (List)list.stream().peek(s -> { s.setCurStatus(AndonRecordStatusEnum.RECEIVED.getCode()); s.setResponseTime(DateUtil.now()); }).collect(Collectors.toList()); return updateBatchById(andonRecordUpdateList); /* List invalidAndonStatus = Arrays.asList(AndonRecordStatusEnum.RECEIVED.getCode(), AndonRecordStatusEnum.FINISH.getCode()); List list = list((Wrapper) Wrappers.lambdaQuery().in((v0) -> { return v0.getId(); }, ids)); checkBatchReceive(list, invalidAndonStatus); List andonRecordUpdateList = (List) list.stream().peek(s -> { s.setCurStatus(AndonRecordStatusEnum.RECEIVED.getCode()); s.setResponseTime(DateUtil.now()); }).collect(Collectors.toList()); return Boolean.valueOf(updateBatchById(andonRecordUpdateList)); */ } private void checkBatchReceive(List list, List invalidAndonStatus) { if (Func.isEmpty(list)) { throw new ServiceException(MessageUtils.message("andon.record.is.not.exist", new Object[0])); } long count = list.stream().filter(s -> { return invalidAndonStatus.contains(s.getCurStatus()); }).count(); if (count > 0) { throw new ServiceException(MessageUtils.message("andon.record.take.over.fail", new Object[0])); } } @Override // org.springblade.modules.andon.service.IAndonRecordService @Transactional(rollbackFor = {Exception.class}) public Boolean delReceiveAndonRecord(String id) { AndonRecord andonRecord = (AndonRecord) getById(id); checkDelReceive(andonRecord); return Boolean.valueOf(removeById(andonRecord)); } private void checkDelReceive(AndonRecord andonRecord) { if (andonRecord == null) { throw new ServiceException(MessageUtils.message("andon.record.is.not.exist", new Object[0])); } if (!AndonRecordStatusEnum.TO_BE_RECEIVED.getCode().equals(andonRecord.getCurStatus())) { throw new ServiceException(MessageUtils.message("andon.record.del.fail", new Object[0])); } } @Override // org.springblade.modules.andon.service.IAndonRecordService @Transactional(rollbackFor = {Exception.class}) public AndonReceiveRecordVO editReceiveRecord(AndonReceiveEditRecordVO andonReceiveEditRecordVO) { Long recordId = andonReceiveEditRecordVO.getId(); AndonRecord andonRecord = (AndonRecord)getById(recordId); checkEditReceiveRecord(andonRecord, andonReceiveEditRecordVO); andonRecord .setTypeId(andonReceiveEditRecordVO.getTypeId()) .setTypeName(andonReceiveEditRecordVO.getTypeName()) .setTypeCode(andonReceiveEditRecordVO.getTypeCode()) .setHandEmpId(andonReceiveEditRecordVO.getHandEmpId()) .setHandEmpCode(andonReceiveEditRecordVO.getHandEmpCode()) .setHandEmpName(andonReceiveEditRecordVO.getHandEmpName()) .setRemark(andonReceiveEditRecordVO.getRemark()); updateById(andonRecord); List removeList = this.recordReasonService.list(Wrappers.lambdaQuery().eq(AndonRecordReason::getRecordId, andonRecord.getId())); if (Func.isNotEmpty(removeList)) this.recordReasonService.removeBatchByIds(removeList); List reasonList = andonReceiveEditRecordVO.getReasonList(); if (Func.isNotEmpty(reasonList)) saveAndonRecordReason(andonRecord.getId(), reasonList); NotifyBusinessSendDTO notifyBusinessSendDTO = NotifyBusinessSendDTO.builder().empIds(Collections.singletonList(andonRecord.getHandEmpId())).build(); AndonMessageSendVO andonMessageSendVO = buildSendMessage(andonRecord, reasonList); sendMessage(andonMessageSendVO, notifyBusinessSendDTO); return buildEditData(andonRecord, reasonList); } private void checkEditReceiveRecord(AndonRecord andonRecord, AndonReceiveEditRecordVO andonReceiveEditRecordVO) { if (andonRecord == null) throw new ServiceException(MessageUtils.message("andon.record.is.not.exist", new Object[0])); if (!AndonRecordStatusEnum.TO_BE_RECEIVED.getCode().equals(andonRecord.getCurStatus())) throw new ServiceException(MessageUtils.message("andon.record.update.fail", new Object[0])); List andonRecordList = checkWorkstationAndonType(andonReceiveEditRecordVO.getWorkstationId(), Long.valueOf(Func.toLong(andonReceiveEditRecordVO.getTypeId()))); if (andonRecordList != null) andonRecordList = andonRecordList.stream().filter(s -> !andonReceiveEditRecordVO.getId().equals(s.getId())).collect(Collectors.toList()); Boolean result = Func.isEmpty(andonRecordList) ? Boolean.FALSE : Boolean.TRUE; if (result.booleanValue()) throw new ServiceException(MessageUtils.message("andon.please.repeat.launch.call", new Object[0])); /* if (andonRecord == null) { throw new ServiceException(MessageUtils.message("andon.record.is.not.exist", new Object[0])); } if (!AndonRecordStatusEnum.TO_BE_RECEIVED.getCode().equals(andonRecord.getCurStatus())) { throw new ServiceException(MessageUtils.message("andon.record.update.fail", new Object[0])); } List andonRecordList = checkWorkstationAndonType(andonReceiveEditRecordVO.getWorkstationId(), Long.valueOf(Func.toLong(andonReceiveEditRecordVO.getTypeId()))); if (andonRecordList != null) { andonRecordList = (List) andonRecordList.stream().filter(s -> { return !andonReceiveEditRecordVO.getId().equals(s.getId()); }).collect(Collectors.toList()); } Boolean result = Func.isEmpty(andonRecordList) ? Boolean.FALSE : Boolean.TRUE; if (result.booleanValue()) { throw new ServiceException(MessageUtils.message("andon.please.repeat.launch.call", new Object[0])); } */ } private AndonReceiveRecordVO buildEditData(AndonRecord andonRecord, List reasonList) { AndonReceiveRecordVO andonReceiveRecordVO = AndonRecordConvert.INSTANCE.convertVO(andonRecord); andonReceiveRecordVO.setReasonList(reasonList); return andonReceiveRecordVO; } private void sendMessage(AndonMessageSendVO andonMessageSendVO, NotifyBusinessSendDTO notifyBusinessSend) { BusinessSend businessSend = this.businessSendFactory.getBusinessSend(NotifyConstant.ANDON_TAKE_OVER); businessSend.saveState(andonMessageSendVO, notifyBusinessSend); } @Override // org.springblade.modules.andon.service.IAndonRecordService @Transactional(rollbackFor = {Exception.class}) public Boolean toBeOrReceivedAndonRecord(AndonFinishRecordVO andonFinishRecordVO) { String id = andonFinishRecordVO.getId(); AndonRecord andonRecord = (AndonRecord) getById(id); if (AndonRecordStatusEnum.FINISH.getCode().equals(andonRecord.getCurStatus())) { throw new ServiceException(MessageUtils.message("andon.record.to.be.received.trigger.can.not.finish", new Object[0])); } if (AndonRecordStatusEnum.TO_BE_RECEIVED.getCode().equals(andonRecord.getCurStatus()) && andonRecord.getResponseTime() == null) { andonRecord.setResponseTime(DateUtil.now()); } andonRecord.setCurStatus(AndonRecordStatusEnum.FINISH.getCode()).setEndTime(DateUtil.now()).setCompleteEmpId(Long.valueOf(Func.toLong(andonFinishRecordVO.getCompletedById()))).setCompleteEmpCode(andonFinishRecordVO.getCompletedByCode()).setCompleteEmpName(andonFinishRecordVO.getCompletedByName()); return Boolean.valueOf(updateById(andonRecord)); } @Override // org.springblade.modules.andon.service.IAndonRecordService @Transactional(rollbackFor = {Exception.class}) public Boolean initiateAndonCall(AndonReceiveRecordVO andonReceiveRecordVO) { boolean isSamePeople = andonReceiveRecordVO.getCallEmpId().equals(andonReceiveRecordVO.getHandEmpId()); if (isSamePeople) { throw new ServiceException(MessageUtils.message("andon.deal.person.with.call.person.is.not.same", new Object[0])); } List andonRecordList = checkWorkstationAndonType(andonReceiveRecordVO.getWorkstationId(), Long.valueOf(Func.toLong(andonReceiveRecordVO.getTypeId()))); Boolean result = andonRecordList == null ? Boolean.FALSE : Boolean.TRUE; if (result.booleanValue()) { throw new ServiceException(MessageUtils.message("andon.please.repeat.launch.call", new Object[0])); } AndonRecord andonRecord = setRecord(andonReceiveRecordVO); boolean saveStatus = save(andonRecord); List reasonList = andonReceiveRecordVO.getReasonList(); if (Func.isNotEmpty(reasonList)) { saveAndonRecordReason(andonRecord.getId(), andonReceiveRecordVO.getReasonList()); } NotifyBusinessSendDTO notifyBusinessSendDTO = NotifyBusinessSendDTO.builder().empIds(Collections.singletonList(andonReceiveRecordVO.getHandEmpId())).build(); AndonMessageSendVO andonMessageSendVO = buildSendMessage(andonRecord, reasonList); sendMessage(andonMessageSendVO, notifyBusinessSendDTO); return Boolean.valueOf(saveStatus); } private AndonMessageSendVO buildSendMessage(AndonRecord andonRecord, List reasonList) { AndonMessageSendVO andonMessageSendVO = new AndonMessageSendVO(); andonMessageSendVO.setId(andonRecord.getId()).setTypeId(andonRecord.getTypeId()).setTypeName(andonRecord.getTypeName()).setTypeCode(andonRecord.getTypeCode()).setWorkstationId(andonRecord.getWorkstationId()).setWorkstationCode(andonRecord.getWorkstationCode()).setWorkstationName(andonRecord.getWorkstationName()).setCallEmpId(andonRecord.getCallEmpId()).setCallEmpCode(andonRecord.getCallEmpCode()).setCallEmpName(andonRecord.getCallEmpName()).setCallTime(andonRecord.getCallTime()).setCurStatus(andonRecord.getCurStatus()).setRemark(andonRecord.getRemark()).setReasonList(reasonList); return andonMessageSendVO; } private AndonRecord setRecord(AndonReceiveRecordVO andonReceiveRecordVO) { AndonRecord andonRecord = new AndonRecord(); andonRecord.setTypeId(Long.valueOf(Func.toLong(andonReceiveRecordVO.getTypeId()))).setTypeCode(andonReceiveRecordVO.getTypeCode()).setTypeName(andonReceiveRecordVO.getTypeName()).setWorkstationId(andonReceiveRecordVO.getWorkstationId()).setWorkstationName(andonReceiveRecordVO.getWorkstationName()).setWorkstationCode(andonReceiveRecordVO.getWorkstationCode()).setCallEmpId(andonReceiveRecordVO.getCallEmpId()).setCallEmpCode(andonReceiveRecordVO.getCallEmpCode()).setCallEmpName(andonReceiveRecordVO.getCallEmpName()).setHandEmpId(andonReceiveRecordVO.getHandEmpId()).setHandEmpCode(andonReceiveRecordVO.getHandEmpCode()).setHandEmpName(andonReceiveRecordVO.getHandEmpName()).setCallTime(DateUtil.now()).setCurStatus(AndonRecordStatusEnum.TO_BE_RECEIVED.getCode()).setRemark(andonReceiveRecordVO.getRemark()); return andonRecord; } private void saveAndonRecordReason(Long recordId, List reasonList) { List andonRecordReasonList = reasonList.stream().map(reasonVO -> { AndonRecordReason andonRecordReason = new AndonRecordReason(); andonRecordReason.setRecordId(recordId).setReasonId(reasonVO.getReasonId()).setReasonCode(reasonVO.getReasonCode()).setReasonName(reasonVO.getReasonName()); return andonRecordReason; }).collect(Collectors.toList()); this.recordReasonService.saveBatch(andonRecordReasonList); } private List checkWorkstationAndonType(Long workstationId, Long typeId) { List andonStatus = Arrays.asList(AndonRecordStatusEnum.TO_BE_RECEIVED.getCode(), AndonRecordStatusEnum.RECEIVED.getCode()); List list = list(Wrappers.lambdaQuery() .eq(Func.isNotEmpty(workstationId), AndonRecord::getWorkstationId, workstationId) .eq(Func.isNotEmpty(typeId), AndonRecord::getTypeId, typeId).in(AndonRecord::getCurStatus, andonStatus)); if (Func.isNotEmpty(list)) return list; return null; /* List andonStatus = Arrays.asList(AndonRecordStatusEnum.TO_BE_RECEIVED.getCode(), AndonRecordStatusEnum.RECEIVED.getCode()); List list = list((Wrapper) Wrappers.lambdaQuery().eq(Func.isNotEmpty(workstationId), (v0) -> { return v0.getWorkstationId(); }, workstationId).eq(Func.isNotEmpty(typeId), (v0) -> { return v0.getTypeId(); }, typeId).in((v0) -> { return v0.getCurStatus(); }, andonStatus)); if (Func.isNotEmpty(list)) { return list; } return null; */ } @Override // org.springblade.modules.andon.service.IAndonRecordService public List hmiWorkstationLoginAndon(String workstationId) { List andonRecordList = checkWorkstationAndonType(Long.valueOf(Func.toLong(workstationId)), null); if (andonRecordList != null) { return andonRecordList.stream().map(s -> { HmiAndonVO hmiAndonVO = new HmiAndonVO(); hmiAndonVO.setId(Func.toStr(s.getId())).setTypeId(Func.toStr(s.getTypeId())).setTypeCode(s.getTypeCode()).setTypeName(s.getTypeName()).setCurStatus(s.getCurStatus()); return hmiAndonVO; }).collect(Collectors.toList()); } return null; /* if (andonRecordList != null) return (List)andonRecordList.stream().map(s -> { HmiAndonVO hmiAndonVO = new HmiAndonVO(); hmiAndonVO.setId(Func.toStr(s.getId())).setTypeId(Func.toStr(s.getTypeId())).setTypeCode(s.getTypeCode()).setTypeName(s.getTypeName()).setCurStatus(s.getCurStatus()); return hmiAndonVO; }).collect(Collectors.toList()); return null; */ } @Override // org.springblade.modules.andon.service.IAndonRecordService public AndonStatisticalCardVO queryCard(List workstations, Date startTime, Date endTime) { return ((AndonRecordMapper) this.baseMapper).queryCard(workstations, DateUtil.formatDateTime(startTime), DateUtil.formatDateTime(endTime)); } @Override // org.springblade.modules.andon.service.IAndonRecordService public IPage getTableAndon(Query query, Date startTime, Date endTime, List workstationIds) { return ((AndonRecordMapper) this.baseMapper).getTableAndon(Condition.getPage(query), DateUtil.formatDateTime(startTime), DateUtil.formatDateTime(endTime), workstationIds); } @Override // org.springblade.modules.andon.service.IAndonRecordService public List queryCallTime(Date startTime, Date endTime, List workstationIds) { QueryWrapper wrapper = AbstractSqlAdapter.dateBetweenAdapter(Lambda.getName(AndonRecord::getCallTime), startTime, endTime); wrapper.in(Lambda.getName(AndonRecord::getWorkstationId), workstationIds) .eq(Lambda.getName(AndonRecord::getCurStatus), AndonStatusEnum.COMPLETE.getStatus()); return this.baseMapper.selectList(wrapper); /* Wrapper dateBetweenAdapter = AbstractSqlAdapter.dateBetweenAdapter(Lambda.getName((v0) -> { return v0.getCallTime(); }), startTime, endTime); ((QueryWrapper) dateBetweenAdapter.in(Lambda.getName((v0) -> { return v0.getWorkstationId(); }), workstationIds)).eq(Lambda.getName((v0) -> { return v0.getCurStatus(); }), AndonStatusEnum.COMPLETE.getStatus()); return ((AndonRecordMapper) this.baseMapper).selectList(dateBetweenAdapter); */ } }