package com.qianwen.smartman.modules.visual.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.common.collect.Lists; import java.lang.invoke.SerializedLambda; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; import com.qianwen.smartman.common.cache.cps.TimeSliceCache; import com.qianwen.smartman.common.cache.cps.WorkstationCache; import com.qianwen.smartman.common.constant.CommonConstant; import com.qianwen.smartman.common.constant.CommonGroupConstant; import com.qianwen.smartman.common.constant.VisualConstant; import com.qianwen.smartman.common.enums.CommonGroupTypeEnum; import com.qianwen.core.tool.node.ForestNodeMerger; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.modules.cps.convert.CommonGroupConvert; import com.qianwen.smartman.modules.cps.dto.CurrentShiftInfoDTO; import com.qianwen.smartman.modules.cps.entity.CommonGroup; import com.qianwen.smartman.modules.cps.entity.ShiftModel; import com.qianwen.smartman.modules.cps.service.ICalendarService; import com.qianwen.smartman.modules.cps.service.ICommonGroupService; import com.qianwen.smartman.modules.cps.service.IShiftModelService; import com.qianwen.smartman.modules.cps.vo.CommonGroupTypeVO; import com.qianwen.smartman.modules.cps.vo.WorkstationInGroupVO; import com.qianwen.smartman.modules.system.entity.Dict; import com.qianwen.smartman.modules.system.service.IDictService; import com.qianwen.smartman.modules.visual.service.IVisualDataSourceService; import com.qianwen.smartman.modules.visual.vo.DropDownVO; import com.qianwen.smartman.modules.visual.vo.WorkStationTreeVO; import org.springframework.stereotype.Service; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/visual/service/impl/VisualDataSourceServiceImpl.class */ public class VisualDataSourceServiceImpl implements IVisualDataSourceService { private final ICommonGroupService commonGroupService; private final IDictService dictService; private final IShiftModelService shiftModelService; private final ICalendarService calendarService; private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { String implMethodName = lambda.getImplMethodName(); boolean z = true; switch (implMethodName.hashCode()) { case -1492577373: if (implMethodName.equals("getGroupType")) { z = false; break; } break; case -1041904421: if (implMethodName.equals("getParentId")) { z = true; break; } break; case 985326823: if (implMethodName.equals("getGroupCategory")) { z = true; break; } break; } switch (z) { case false: if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/CommonGroup") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getGroupType(); }; } break; case true: if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/CommonGroup") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { return (v0) -> { return v0.getGroupCategory(); }; } break; case true: if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/CommonGroup") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getParentId(); }; } break; } throw new IllegalArgumentException("Invalid lambda deserialization"); } public VisualDataSourceServiceImpl(final ICommonGroupService commonGroupService, final IDictService dictService, final IShiftModelService shiftModelService, final ICalendarService calendarService) { this.commonGroupService = commonGroupService; this.dictService = dictService; this.shiftModelService = shiftModelService; this.calendarService = calendarService; } @Override // org.springblade.modules.visual.service.IVisualDataSourceService public List workstationDataSource() { CommonGroupTypeVO commonGroupTypeVO = new CommonGroupTypeVO().setGroupCategory(CommonGroupConstant.DEFAULT_CATEGORY).setStatus(CommonConstant.ENABLE).setGroupType(CommonGroupTypeEnum.WORKSTATION.getName()); List list = this.commonGroupService.groupWorkstationList(commonGroupTypeVO); Stream stream = hasChildGroup(list).stream(); CommonGroupConvert commonGroupConvert = CommonGroupConvert.INSTANCE; commonGroupConvert.getClass(); List vos = (List) stream.map(this::convertToChart).collect(Collectors.toList()); return ForestNodeMerger.merge(vos); } @Override // org.springblade.modules.visual.service.IVisualDataSourceService public List timeLevelDataSource() { List dictList = this.dictService.getList(VisualConstant.VISUAL_TIME_LEVEL); return (List) dictList.stream().map(dict -> { return DropDownVO.builder().id(dict.getDictKey()).name(dict.getDictValue()).build(); }).collect(Collectors.toList()); } /* JADX WARN: Multi-variable type inference failed */ @Override // org.springblade.modules.visual.service.IVisualDataSourceService public List shiftSystem() { List list = this.shiftModelService.list(); List dropDownVOList = new ArrayList<>(); if (Func.isNotEmpty(list)) { dropDownVOList = (List) list.stream().map(shiftModel -> { return DropDownVO.builder().id(String.valueOf(shiftModel.getId())).name(shiftModel.getName()).build(); }).collect(Collectors.toList()); } return dropDownVOList; } @Override // org.springblade.modules.visual.service.IVisualDataSourceService public List shiftWorkStation(Long id) { List collect = WorkstationCache.getShiftWorkStation(id); if (Func.isEmpty(collect)) { CommonGroupTypeVO commonGroupTypeVO = new CommonGroupTypeVO().setGroupCategory(CommonGroupConstant.DEFAULT_CATEGORY).setStatus(CommonConstant.ENABLE).setGroupType(CommonGroupTypeEnum.WORKSTATION.getName()); List commonList = this.commonGroupService.groupWorkstationList(commonGroupTypeVO); List calendarCodeList = (List) commonList.stream().map((v0) -> { return v0.getCalendarCode(); }).filter((v0) -> { return Func.isNotEmpty(v0); }).distinct().collect(Collectors.toList()); Map currentShiftInfo = TimeSliceCache.getCurrentShiftInfo(calendarCodeList); collect = (List) commonList.stream().filter(workstationInGroupVO -> { CurrentShiftInfoDTO currentShiftInfoDTO = (CurrentShiftInfoDTO) currentShiftInfo.get(workstationInGroupVO.getCalendarCode()); Boolean flag = workstationInGroupVO.getIsGroup(); if (Func.isNotEmpty(currentShiftInfoDTO)) { Long modelId = this.calendarService.getShiftModelByFactoryDay(workstationInGroupVO.getCalendarCode(), currentShiftInfoDTO.getFactoryDay()); flag = Boolean.valueOf(id.equals(modelId)); } return flag.booleanValue(); }).collect(Collectors.toList()); WorkstationCache.setShiftWorkStation(collect, id); } Stream stream = hasChildGroup(collect).stream(); CommonGroupConvert commonGroupConvert = CommonGroupConvert.INSTANCE; commonGroupConvert.getClass(); List vos = (List) stream.map(this::convertToChart).collect(Collectors.toList()); return ForestNodeMerger.merge(vos); } private List hasChildGroup(List list) { Set groupIds = (Set) list.stream().filter((v0) -> { return v0.getIsWorkstation(); }).map((v0) -> { return v0.getParentId(); }).filter((v0) -> { return Func.isNotEmpty(v0); }).collect(Collectors.toSet()); CommonGroup root = findRoot(); Set res = new HashSet<>(groupIds); res.add(root.getId()); for (Long groupId : groupIds) { buildIds(res, list, groupId, root.getParentId()); } if (res.size() == CommonGroupConstant.SIZE.intValue() && res.contains(root.getId())) { return Lists.newArrayList(); } return (List) list.stream().filter(c -> { return res.contains(c.getId()) || c.getIsWorkstation().booleanValue(); }).collect(Collectors.toList()); } private void buildIds(Set ids, List list, Long id, Long rootId) { for (WorkstationInGroupVO workstationInGroupVO : list) { if (workstationInGroupVO.getId().equals(id) && !workstationInGroupVO.getParentId().equals(rootId)) { ids.add(workstationInGroupVO.getParentId()); buildIds(ids, list, workstationInGroupVO.getParentId(), rootId); } } } private CommonGroup findRoot() { return (CommonGroup) this.commonGroupService.getOne((Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getGroupCategory(); }, CommonGroupConstant.DEFAULT_CATEGORY)).eq((v0) -> { return v0.getGroupType(); }, CommonGroupTypeEnum.WORKSTATION.getName())).eq((v0) -> { return v0.getParentId(); }, CommonGroupConstant.ROOT)); } }