| | |
| | | package com.qianwen.smartman.modules.mdc.service.impl; |
| | | |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.google.common.collect.Lists; |
| | | import java.lang.invoke.SerializedLambda; |
| | | import java.sql.Timestamp; |
| | | import java.time.LocalDate; |
| | | import java.time.chrono.ChronoLocalDate; |
| | |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import com.qianwen.smartman.common.cache.RegionCache; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.google.common.collect.Lists; |
| | | import com.qianwen.core.excel.util.ExcelUtil; |
| | | import com.qianwen.core.log.exception.ServiceException; |
| | | import com.qianwen.core.mp.support.Condition; |
| | | import com.qianwen.core.mp.support.Query; |
| | | import com.qianwen.core.oss.model.BladeFile; |
| | | import com.qianwen.core.tool.support.Kv; |
| | | import com.qianwen.core.tool.utils.DateUtil; |
| | | import com.qianwen.core.tool.utils.Func; |
| | | import com.qianwen.core.tool.utils.StringUtil; |
| | | import com.qianwen.smartman.common.cache.cps.TimeSliceCache; |
| | | import com.qianwen.smartman.common.cache.cps.WorkstationCache; |
| | | import com.qianwen.smartman.common.constant.CalendarConstant; |
| | |
| | | import com.qianwen.smartman.common.enums.DefaultWcsEnum; |
| | | import com.qianwen.smartman.common.utils.LocalDateTimeUtils; |
| | | import com.qianwen.smartman.common.utils.MessageUtils; |
| | | import com.qianwen.core.excel.util.ExcelUtil; |
| | | import com.qianwen.core.log.exception.ServiceException; |
| | | import com.qianwen.core.mp.support.Condition; |
| | | import com.qianwen.core.mp.support.Query; |
| | | import com.qianwen.core.oss.model.BladeFile; |
| | | import com.qianwen.core.tool.support.Kv; |
| | | import com.qianwen.core.tool.utils.DateUtil; |
| | | import com.qianwen.core.tool.utils.Func; |
| | | import com.qianwen.core.tool.utils.StringUtil; |
| | | import com.qianwen.smartman.modules.cps.entity.CommonGroup; |
| | | import com.qianwen.smartman.modules.cps.entity.GlobalWcs; |
| | | import com.qianwen.smartman.modules.cps.entity.ShiftDetail; |
| | |
| | | import com.qianwen.smartman.modules.mdc.vo.WorkstationBandShiftVO; |
| | | import com.qianwen.smartman.modules.mdc.vo.excel.TimeUsedExcelVO; |
| | | import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import cn.hutool.core.util.NumberUtil; |
| | | |
| | | @Service |
| | | /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/mdc/service/impl/TimeUsedAnalysisServiceImpl.class */ |
| | | public class TimeUsedAnalysisServiceImpl implements ITimeUsedAnalysisService { |
| | | private static final Logger log = LoggerFactory.getLogger(TimeUsedAnalysisServiceImpl.class); |
| | | private final SuperAggregateStateMapper baseMapper; |
| | |
| | | private final ISuperAggregateStateService stateService; |
| | | private final OssBuilder ossBuilder; |
| | | 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 = true; |
| | | break; |
| | | } |
| | | break; |
| | | case -75622813: |
| | | if (implMethodName.equals("getCode")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case -75106384: |
| | | if (implMethodName.equals("getType")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 98245393: |
| | | if (implMethodName.equals("getId")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 803533544: |
| | | if (implMethodName.equals("getStatus")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 985326823: |
| | | if (implMethodName.equals("getGroupCategory")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 1273356481: |
| | | if (implMethodName.equals("getCalendarCode")) { |
| | | z = false; |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getCalendarCode(); |
| | | }; |
| | | } |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getCalendarCode(); |
| | | }; |
| | | } |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getCalendarCode(); |
| | | }; |
| | | } |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getType(); |
| | | }; |
| | | } |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getType(); |
| | | }; |
| | | } |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getType(); |
| | | }; |
| | | } |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getType(); |
| | | }; |
| | | } |
| | | 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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getId(); |
| | | }; |
| | | } |
| | | 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.getId(); |
| | | }; |
| | | } |
| | | 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.getId(); |
| | | }; |
| | | } |
| | | 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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getId(); |
| | | }; |
| | | } |
| | | 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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getId(); |
| | | }; |
| | | } |
| | | 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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getId(); |
| | | }; |
| | | } |
| | | 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.getId(); |
| | | }; |
| | | } |
| | | 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/String;")) { |
| | | return (v0) -> { |
| | | return v0.getGroupType(); |
| | | }; |
| | | } |
| | | 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(); |
| | | }; |
| | | } |
| | | 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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getStatus(); |
| | | }; |
| | | } |
| | | 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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getStatus(); |
| | | }; |
| | | } |
| | | break; |
| | | case RegionCache.VILLAGE_LEVEL /* 5 */: |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getCode(); |
| | | }; |
| | | } |
| | | 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.getCode(); |
| | | }; |
| | | } |
| | | 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/Workstation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getCode(); |
| | | }; |
| | | } |
| | | 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(); |
| | | }; |
| | | } |
| | | 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(); |
| | | }; |
| | | } |
| | | 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; |
| | | } |
| | | throw new IllegalArgumentException("Invalid lambda deserialization"); |
| | | } |
| | | |
| | | public TimeUsedAnalysisServiceImpl(final SuperAggregateStateMapper baseMapper, final IWorkstationService workstationService, final ICommonGroupService commonGroupService, final CalendarMapper calendarMapper, final ISuperAggregateStateService stateService, final OssBuilder ossBuilder, final ICalendarService calendarService) { |
| | | this.baseMapper = baseMapper; |
| | |
| | | StatisticalMethodEnum methodEnum = stationVO.getEnums(); |
| | | List<String> ids = stationVO.getIds(); |
| | | LocalDate queryTime = stationVO.getQueryTime(); |
| | | IPage<Workstation> page = this.workstationService.page(Condition.getPage(query),Wrappers.<Workstation>lambdaQuery() |
| | | .in(Func.isNotEmpty(ids), Workstation::getId, ids) |
| | | .eq(Workstation::getType, WorkstationTypeEnum.MACHINE.getCode()) |
| | | .eq(Workstation::getStatus, CommonConstant.ENABLE) |
| | | .isNotNull(Workstation::getCalendarCode) |
| | | .orderByAsc(Workstation::getCode)); |
| | | /* |
| | | IPage<Workstation> page = this.workstationService.page(Condition.getPage(query), (Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().in(Func.isNotEmpty(ids), (v0) -> { |
| | | return v0.getId(); |
| | | }, ids).eq((v0) -> { |
| | |
| | | return v0.getCalendarCode(); |
| | | })).orderByAsc((v0) -> { |
| | | return v0.getCode(); |
| | | })); |
| | | }));*/ |
| | | long total = page.getTotal(); |
| | | List<Workstation> workstations = page.getRecords(); |
| | | if (Func.isEmpty(workstations)) { |
| | |
| | | } |
| | | |
| | | private TimeUsedAnalysisWorkstationVO buildTimeUsedAnalysisDay(List<Workstation> workstations, LocalDate queryTime) { |
| | | List<Long> ids = (List) workstations.stream().map((v0) -> { |
| | | List<Long> ids = workstations.stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | List<NameIdDTO> workStationDetails = Lists.newArrayList(); |
| | | List<List<CountStatusDTO>> countStatus = Lists.newArrayList(); |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | |
| | | List<SuperAggregateState> stateList = this.baseMapper.dateState(DateUtil.format(queryTime, "yyyyMMdd"), ids); |
| | | Map<Long, Map<Integer, Long>> map = buildStateMap(wcsList, stateList); |
| | | for (Workstation workstation : workstations) { |
| | |
| | | } |
| | | |
| | | private TimeUsedAnalysisWorkstationVO buildTimeUsedAnalysisWeek(List<Workstation> workstations, Integer year, Integer week) { |
| | | List<Long> ids = (List) workstations.stream().map((v0) -> { |
| | | List<Long> ids = workstations.stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | List<NameIdDTO> workStationDetails = Lists.newArrayList(); |
| | | List<List<CountStatusDTO>> countStatus = Lists.newArrayList(); |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | List<SuperAggregateState> stateList = this.baseMapper.weekState(ids, year, week); |
| | |
| | | } |
| | | |
| | | private TimeUsedAnalysisWorkstationVO buildTimeUsedAnalysisMonth(List<Workstation> workstations, Integer year, Integer month) { |
| | | List<Long> ids = (List) workstations.stream().map((v0) -> { |
| | | List<Long> ids = workstations.stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | List<NameIdDTO> workStationDetails = Lists.newArrayList(); |
| | | List<List<CountStatusDTO>> countStatus = Lists.newArrayList(); |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | List<SuperAggregateState> stateList = this.baseMapper.yearState(ids, year, month); |
| | |
| | | List<NameIdDTO> workStationDetails = Lists.newArrayList(); |
| | | List<List<CountStatusDTO>> countStatus = Lists.newArrayList(); |
| | | IPage<Workstation> workstationPages = this.workstationService.listWorkStationOnShiftIndex(ids, queryTime, query, shiftIndex, WorkstationTypeEnum.MACHINE.getCode()); |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | LinkedHashMap<String, List<Workstation>> calendarMap = (LinkedHashMap) workstationPages.getRecords().stream().collect(Collectors.groupingBy((v0) -> { |
| | | LinkedHashMap<String, List<Workstation>> calendarMap = workstationPages.getRecords().stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getCalendarCode(); |
| | | }, LinkedHashMap::new, Collectors.toList())); |
| | | calendarMap.forEach(calendarCode, workStationsList -> { |
| | | List<Long> workStationIds = (List) workStationsList.stream().map((v0) -> { |
| | | calendarMap.forEach((calendarCode, workStationsList) -> { |
| | | List<Long> workStationIds = workStationsList.stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | List<SuperAggregateState> stateList = this.baseMapper.shiftState(workStationIds, DateUtil.format(queryTime, "yyyyMMdd"), shiftIndex, calendarCode); |
| | | Map<Long, Map<Integer, Long>> map = buildStateMap(wcsList, stateList); |
| | | Iterator it = workStationsList.iterator(); |
| | | Iterator<Workstation> it = workStationsList.iterator(); |
| | | while (it.hasNext()) { |
| | | Workstation workstation = (Workstation) it.next(); |
| | | Workstation workstation = it.next(); |
| | | workStationDetails.add(NameIdDTO.builder().id(workstation.getId()).name(workstation.getName() + "\n" + workstation.getCode()).build()); |
| | | Long id = workstation.getId(); |
| | | Map<Integer, Long> countResults = mergeMap(map.get(id), wcsList); |
| | |
| | | LocalDate queryTime = stationVO.getQueryTime(); |
| | | String groupType = stationVO.getGroupType(); |
| | | String groupCategory = stationVO.getGroupCategory(); |
| | | long total = this.commonGroupService.count(Wrappers.<CommonGroup>lambdaQuery() |
| | | .eq(CommonGroup::getGroupType, groupType) |
| | | .eq(CommonGroup::getGroupCategory, groupCategory) |
| | | .in(Func.isNotEmpty(ids), CommonGroup::getId, ids)); |
| | | /* |
| | | long total = this.commonGroupService.count(((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getGroupType(); |
| | | }, groupType)).eq((v0) -> { |
| | | return v0.getGroupCategory(); |
| | | }, groupCategory)).in(Func.isNotEmpty(ids), (v0) -> { |
| | | return v0.getId(); |
| | | }, ids)); |
| | | }, ids));*/ |
| | | IPage<CommonGroup> page = this.commonGroupService.page(Condition.getPage(query), Wrappers.<CommonGroup>lambdaQuery() |
| | | .eq(CommonGroup::getGroupType, groupType) |
| | | .eq(CommonGroup::getGroupCategory, groupCategory) |
| | | .in(Func.isNotEmpty(ids), CommonGroup::getId, ids) |
| | | .orderByAsc(CommonGroup::getCode)); |
| | | /* |
| | | IPage<CommonGroup> page = this.commonGroupService.page(Condition.getPage(query), (Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getGroupType(); |
| | | }, groupType)).eq((v0) -> { |
| | |
| | | return v0.getId(); |
| | | }, ids).orderByAsc((v0) -> { |
| | | return v0.getCode(); |
| | | })); |
| | | }));*/ |
| | | List<CommonGroup> groups = page.getRecords(); |
| | | if (Func.isEmpty(groups)) { |
| | | return new TimeUsedAnalysisWorkstationVO(); |
| | | } |
| | | Map<Long, Set<Long>> groupWorkstationMap = this.commonGroupService.groupWorkstationMap((List) groups.stream().map(c -> { |
| | | Map<Long, Set<Long>> groupWorkstationMap = this.commonGroupService.groupWorkstationMap(groups.stream().map(c -> { |
| | | return String.valueOf(c.getId()); |
| | | }).collect(Collectors.toList())); |
| | | |
| | | switch (methodEnum) { |
| | | case DAY: |
| | | res = buildTimeUsedAnalysisGroupDay(groups, groupWorkstationMap, queryTime); |
| | |
| | | res = buildTimeUsedAnalysisGroupMonth(groups, groupWorkstationMap, stationVO.getYear(), stationVO.getMonth()); |
| | | break; |
| | | default: |
| | | Map<Long, Set<Long>> newGroupWorkstationMap = new HashMap<>(groupWorkstationMap.size()); |
| | | Integer shiftIndex = stationVO.getShiftIndex(); |
| | | Set<Long> workIds = this.workstationService.findByIndexAndDateAndTypeAndYear(Integer.valueOf(queryTime.getYear()), DateUtil.format(queryTime, "yyyyMMdd"), shiftIndex, WorkstationTypeEnum.MACHINE.getCode()); |
| | | groupWorkstationMap.forEach(k, v -> { |
| | | Stream stream = v.stream(); |
| | | workIds.getClass(); |
| | | if (stream.anyMatch((v1) -> { |
| | | return r1.contains(v1); |
| | | })) { |
| | | newGroupWorkstationMap.put(k, v); |
| | | } |
| | | }); |
| | | if (Func.isEmpty(newGroupWorkstationMap)) { |
| | | res = new TimeUsedAnalysisWorkstationVO(); |
| | | break; |
| | | } else { |
| | | res = buildTimeUsedAnalysisGroupShift(groups, newGroupWorkstationMap, queryTime, shiftIndex); |
| | | break; |
| | | } |
| | | res = this.buildTimeUsedAnalysisShift(ids, queryTime, stationVO.getShiftIndex(), query); |
| | | break; |
| | | |
| | | } |
| | | res.setTotal(Long.valueOf(total)); |
| | | return res; |
| | |
| | | Long id = group.getId(); |
| | | Set<Long> workstationIds = groupWorkstationMap.get(id); |
| | | if (Func.isEmpty(workstationIds)) { |
| | | countStatus.add(buildCountStatus(new HashMap(10))); |
| | | countStatus.add(buildCountStatus(new HashMap<>(10))); |
| | | } else { |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | List<SuperAggregateState> stateEndTimeNotNullList = this.baseMapper.dateState(DateUtil.format(queryTime, "yyyyMMdd"), Lists.newArrayList(workstationIds)); |
| | |
| | | Long id = group.getId(); |
| | | Set<Long> workstationIds = groupWorkstationMap.get(id); |
| | | if (Func.isEmpty(workstationIds)) { |
| | | countStatus.add(buildCountStatus(new HashMap(10))); |
| | | countStatus.add(buildCountStatus(new HashMap<>(10))); |
| | | } else { |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | List<SuperAggregateState> stateEndTimeNotNullList = this.baseMapper.weekState(Lists.newArrayList(workstationIds), year, week); |
| | |
| | | Long id = group.getId(); |
| | | Set<Long> workstationIds = groupWorkstationMap.get(id); |
| | | if (Func.isEmpty(workstationIds)) { |
| | | countStatus.add(buildCountStatus(new HashMap(10))); |
| | | countStatus.add(buildCountStatus(new HashMap<>(10))); |
| | | } else { |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | List<SuperAggregateState> stateEndTimeNotNullList = this.baseMapper.yearState(Lists.newArrayList(workstationIds), year, month); |
| | |
| | | private TimeUsedAnalysisWorkstationVO buildTimeUsedAnalysisGroupShift(List<CommonGroup> groups, Map<Long, Set<Long>> groupWorkstationMap, LocalDate queryTime, Integer shiftIndex) { |
| | | List<NameIdDTO> workStationDetails = Lists.newArrayList(); |
| | | List<List<CountStatusDTO>> countStatus = Lists.newArrayList(); |
| | | List<Long> ids = (List) groupWorkstationMap.values().stream().flatMap((v0) -> { |
| | | List<Long> ids = groupWorkstationMap.values().stream().flatMap((v0) -> { |
| | | return v0.stream(); |
| | | }).distinct().collect(Collectors.toList()); |
| | | Map<Long, String> calendarMap = findWorkstationCalendarCode(ids); |
| | | Map<Long, CommonGroup> groupMap = (Map) groups.stream().collect(Collectors.toMap((v0) -> { |
| | | Map<Long, CommonGroup> groupMap = groups.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getId(); |
| | | }, v -> { |
| | | return v; |
| | | })); |
| | | groupWorkstationMap.forEach(groupId, workstationIds -> { |
| | | groupWorkstationMap.forEach((groupId, workstationIds) -> { |
| | | CommonGroup group = (CommonGroup) groupMap.getOrDefault(groupId, new CommonGroup()); |
| | | workStationDetails.add(NameIdDTO.builder().id(group.getId()).name(group.getName()).build()); |
| | | if (Func.isEmpty(workstationIds)) { |
| | | countStatus.add(buildCountStatus(new HashMap(10))); |
| | | countStatus.add(buildCountStatus(new HashMap<>(10))); |
| | | return; |
| | | } |
| | | Set<Integer> wcsList = (Set) listGlobalWcs().stream().map(c -> { |
| | | Set<Integer> wcsList = listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()); |
| | | List<SuperAggregateState> superAggregateStates = (List) workstationIds.stream().map(wId -> { |
| | | List<SuperAggregateState> superAggregateStates = workstationIds.stream().map(wId -> { |
| | | return this.baseMapper.countStatsShift(String.valueOf(wId), DateUtil.format(queryTime, "yyyyMMdd"), shiftIndex, String.valueOf(calendarMap.get(wId))); |
| | | }).filter((v0) -> { |
| | | return Func.isNotEmpty(v0); |
| | |
| | | |
| | | private Map<Long, String> findWorkstationCalendarCode(List<Long> workstationIds) { |
| | | if (Func.isEmpty(workstationIds)) { |
| | | return new HashMap(10); |
| | | return new HashMap<>(10); |
| | | } |
| | | return this.workstationService.list(Wrappers.<Workstation>lambdaQuery() |
| | | .in(Workstation::getId, workstationIds)) |
| | | .stream() |
| | | .collect(Collectors.toMap(Workstation::getId, Workstation::getCalendarCode)); |
| | | /* |
| | | return (Map) this.workstationService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> { |
| | | return v0.getId(); |
| | | }, workstationIds)).stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getId(); |
| | | }, (v0) -> { |
| | | return v0.getCalendarCode(); |
| | | })); |
| | | }));*/ |
| | | } |
| | | |
| | | private List<CountStatusDTO> buildCountStatus(Map<Integer, Long> map) { |
| | | List<GlobalWcs> list = listGlobalWcs(); |
| | | return (List) list.stream().map(value -> { |
| | | return list.stream().map(value -> { |
| | | String code = value.getCode(); |
| | | Long count = (Long) map.getOrDefault(Integer.valueOf(Integer.parseInt(code)), 0L); |
| | | return CountStatusDTO.builder().count(count).statusName(value.getName()).code(code).build(); |
| | |
| | | private Map<Long, Map<Integer, Long>> buildStateMap(Set<Integer> wcsList, List<SuperAggregateState> stateList) { |
| | | List<SuperAggregateState> stateList2 = FilterOffUtils.filterOffDay(stateList, OpenTypeEnums.TIME_USED_ANALYSIS); |
| | | Timestamp ts = new Timestamp(System.currentTimeMillis()); |
| | | return (Map) stateList2.stream().peek(c -> { |
| | | return stateList2.stream().peek(c -> { |
| | | Timestamp endTime = c.getEndTime(); |
| | | if (endTime == null) { |
| | | c.setEndTime(ts); |
| | |
| | | |
| | | private Map<Integer, Long> buildStateGroupMap(Set<Integer> wcsList, List<SuperAggregateState> stateList) { |
| | | Timestamp ts = new Timestamp(System.currentTimeMillis()); |
| | | return (Map) stateList.stream().peek(c -> { |
| | | return stateList.stream().peek(c -> { |
| | | Timestamp endTime = c.getEndTime(); |
| | | if (endTime == null) { |
| | | c.setEndTime(ts); |
| | |
| | | public Map<Long, List<ShiftIndexNameDTO>> queryWorkStationShiftIndex(List<Long> workstationIds, LocalDate localDate) { |
| | | Map<Long, List<ShiftIndexNameDTO>> idToValue = Kv.newMap(); |
| | | workstationIds.forEach(workstationId -> { |
| | | Workstation workstation = this.workstationService.getOne(Wrappers.<Workstation>lambdaQuery().eq(Workstation::getId, workstationId) |
| | | .eq(Workstation::getType, WorkstationTypeEnum.MACHINE.getCode()).isNotNull(Workstation::getCalendarCode)); |
| | | /* |
| | | Workstation workstation = (Workstation) this.workstationService.getOne((Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getId(); |
| | | }, workstationId)).eq((v0) -> { |
| | | return v0.getType(); |
| | | }, WorkstationTypeEnum.MACHINE.getCode())).isNotNull((v0) -> { |
| | | return v0.getCalendarCode(); |
| | | })); |
| | | }));*/ |
| | | if (Func.isEmpty(workstation)) { |
| | | idToValue.put(workstationId, new ArrayList()); |
| | | idToValue.put(workstationId, new ArrayList<>()); |
| | | } |
| | | if (workstation != null) { |
| | | List<ShiftIndexNameDTO> dtos = this.calendarService.queryShiftIndexName(workstation.getCalendarCode(), Integer.valueOf(localDate.getYear()), DateUtil.formatDate(localDate)); |
| | |
| | | public Map<Long, List<ShiftIndexNameDTO>> queryBatchWorkStationShiftIndex(List<Long> workstationIdList, LocalDate localDate) { |
| | | Map<Long, List<ShiftIndexNameDTO>> idToValue = Kv.newMap(); |
| | | List<Workstation> workstations = this.workstationService.listByIds(workstationIdList); |
| | | Map<String, List<Workstation>> collect = (Map) workstations.stream().collect(Collectors.groupingBy((v0) -> { |
| | | Map<String, List<Workstation>> collect = workstations.stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getCalendarCode(); |
| | | })); |
| | | List<String> calendarCodeList = (List) workstations.stream().map((v0) -> { |
| | | List<String> calendarCodeList = workstations.stream().map((v0) -> { |
| | | return v0.getCalendarCode(); |
| | | }).distinct().collect(Collectors.toList()); |
| | | calendarCodeList.forEach(calendarCode -> { |
| | | List<ShiftIndexNameDTO> shiftIndexNameDTOList = this.calendarService.queryShiftIndexName(calendarCode, Integer.valueOf(localDate.getYear()), DateUtil.formatDate(localDate)); |
| | | List<Long> workstationIds = (List) ((List) collect.get(calendarCode)).stream().map((v0) -> { |
| | | |
| | | List<Long> workstationIds = collect.get(calendarCode).stream().map(Workstation::getId).collect(Collectors.toList()); |
| | | /* |
| | | List<Long> workstationIds = collect.get(calendarCode).stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | */ |
| | | workstationIds.forEach(workstationId -> { |
| | | List list = (List) idToValue.put(workstationId, shiftIndexNameDTOList); |
| | | List list = idToValue.put(workstationId, shiftIndexNameDTOList); |
| | | }); |
| | | }); |
| | | return idToValue; |
| | |
| | | StatisticalMethodEnum enums = vo.getEnums(); |
| | | List<Long> ids = vo.getIds(); |
| | | if (Func.isEmpty(ids)) { |
| | | workstations = this.workstationService.list(Wrappers.<Workstation>lambdaQuery() |
| | | .eq(Workstation::getType, WorkstationTypeEnum.MACHINE.getCode()) |
| | | .eq(Workstation::getStatus, CommonConstant.ENABLE)); |
| | | /* |
| | | workstations = this.workstationService.list((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getType(); |
| | | }, WorkstationTypeEnum.MACHINE.getCode())).eq((v0) -> { |
| | | return v0.getStatus(); |
| | | }, CommonConstant.ENABLE)); |
| | | ids = (List) workstations.stream().map((v0) -> { |
| | | }, CommonConstant.ENABLE));*/ |
| | | ids = workstations.stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | } else { |
| | |
| | | if (Func.isEmpty(ids)) { |
| | | return exportEmpty(vo.getEnums()); |
| | | } |
| | | Map<Long, Workstation> workstationMap = (Map) workstations.stream().collect(Collectors.toMap((v0) -> { |
| | | Map<Long, Workstation> workstationMap = workstations.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getId(); |
| | | }, v -> { |
| | | return v; |
| | |
| | | return Lists.newArrayList(); |
| | | } |
| | | List<TimeUsedDateExcel> timeUsedExports = Lists.newArrayList(); |
| | | Map<String, Map<Long, List<SuperAggregateState>>> stateMap = (Map) filterData.stream().sorted(Comparator.comparing((v0) -> { |
| | | return v0.getFactoryYear(); |
| | | }).reversed().thenComparing((v0) -> { |
| | | return v0.getFactoryMonth(); |
| | | }).reversed()).collect(Collectors.groupingBy(c -> { |
| | | Map<String, Map<Long, List<SuperAggregateState>>> stateMap = filterData.stream().sorted(Comparator.comparing(SuperAggregateState::getFactoryYear).reversed().thenComparing(SuperAggregateState::getFactoryMonth).reversed()).collect(Collectors.groupingBy(c -> { |
| | | return c.getFactoryYear() + "-" + c.getFactoryMonth(); |
| | | }, Collectors.groupingBy((v0) -> { |
| | | return v0.getWorkstationId(); |
| | | }))); |
| | | stateMap.forEach(date, stats -> { |
| | | stats.forEach(workstationId, statsList -> { |
| | | stateMap.forEach((date, stats) -> { |
| | | stats.forEach((workstationId, statsList) -> { |
| | | Workstation workstation = (Workstation) workstationMap.getOrDefault(workstationId, new Workstation()); |
| | | GroupWorkDTO groupWork = (GroupWorkDTO) groupWorkMap.getOrDefault(workstationId, new GroupWorkDTO()); |
| | | Map<Integer, String> wcsMap = getWcsMap((Set) listGlobalWcs().stream().map(c2 -> { |
| | | Map<Integer, String> wcsMap = getWcsMap(listGlobalWcs().stream().map(c2 -> { |
| | | return Integer.valueOf(Integer.parseInt(c2.getCode())); |
| | | }).collect(Collectors.toSet()), statsList); |
| | | timeUsedExports.add(TimeUsedDateExcel.builder().date(date).groupName(groupWork.getName()).workstationCode(workstation.getCode()).workstationName(workstation.getName()).running(wcsMap.get(DefaultWcsEnum.RUNNING.getCode())).standby(wcsMap.get(DefaultWcsEnum.STANDBY.getCode())).debugging(wcsMap.get(DefaultWcsEnum.DEBUGGING.getCode())).alarm(wcsMap.get(DefaultWcsEnum.ALARM.getCode())).offline(wcsMap.get(DefaultWcsEnum.OFFLINE.getCode())).build()); |
| | | }); |
| | | }); |
| | | timeUsedExports.sort(Comparator.comparing(TimeUsedDateExcel::getDate).reversed()); |
| | | /* |
| | | timeUsedExports.sort(Comparator.comparing((v0) -> { |
| | | return v0.getDate(); |
| | | }).reversed()); |
| | | }).reversed());*/ |
| | | return timeUsedExports; |
| | | } |
| | | |
| | |
| | | if (Func.isEmpty(filterData)) { |
| | | return Lists.newArrayList(); |
| | | } |
| | | Map<String, Map<Long, List<SuperAggregateState>>> stateMap = (Map) filterData.stream().sorted(Comparator.comparing((v0) -> { |
| | | return v0.getFactoryYear(); |
| | | }).reversed().thenComparing((v0) -> { |
| | | Map<String, Map<Long, List<SuperAggregateState>>> stateMap = filterData.stream().sorted(Comparator.comparing(SuperAggregateState::getFactoryYear).reversed().thenComparing((v0) -> { |
| | | return v0.getFactoryWeek(); |
| | | }).reversed()).collect(Collectors.groupingBy(c -> { |
| | | return c.getFactoryYear() + "-" + c.getFactoryWeek(); |
| | |
| | | return v0.getWorkstationId(); |
| | | }))); |
| | | List<TimeUsedDateExcel> timeUsedExports = Lists.newArrayList(); |
| | | stateMap.forEach(date, stats -> { |
| | | stats.forEach(workstationId, statsList -> { |
| | | Workstation workstation = (Workstation) workstationMap.getOrDefault(workstationId, new Workstation()); |
| | | GroupWorkDTO groupWork = (GroupWorkDTO) groupWorkMap.getOrDefault(workstationId, new GroupWorkDTO()); |
| | | Map<Integer, String> wcsMap = getWcsMap((Set) listGlobalWcs().stream().map(c2 -> { |
| | | stateMap.forEach((date, stats) -> { |
| | | stats.forEach((workstationId, statsList) -> { |
| | | Workstation workstation = workstationMap.getOrDefault(workstationId, new Workstation()); |
| | | GroupWorkDTO groupWork = groupWorkMap.getOrDefault(workstationId, new GroupWorkDTO()); |
| | | Map<Integer, String> wcsMap = getWcsMap(listGlobalWcs().stream().map(c2 -> { |
| | | return Integer.valueOf(Integer.parseInt(c2.getCode())); |
| | | }).collect(Collectors.toSet()), statsList); |
| | | timeUsedExports.add(TimeUsedDateExcel.builder().date(getWeek(date)).groupName(groupWork.getName()).workstationCode(workstation.getCode()).workstationName(workstation.getName()).running(wcsMap.get(DefaultWcsEnum.RUNNING.getCode())).standby(wcsMap.get(DefaultWcsEnum.STANDBY.getCode())).debugging(wcsMap.get(DefaultWcsEnum.DEBUGGING.getCode())).alarm(wcsMap.get(DefaultWcsEnum.ALARM.getCode())).offline(wcsMap.get(DefaultWcsEnum.OFFLINE.getCode())).build()); |
| | | }); |
| | | }); |
| | | timeUsedExports.sort(Comparator.comparing(TimeUsedDateExcel::getDate).reversed()); |
| | | /* |
| | | timeUsedExports.sort(Comparator.comparing((v0) -> { |
| | | return v0.getDate(); |
| | | }).reversed()); |
| | | }).reversed());*/ |
| | | return timeUsedExports; |
| | | } |
| | | |
| | |
| | | if (Func.isEmpty(statusData)) { |
| | | return Lists.newArrayList(); |
| | | } |
| | | Map<Integer, Map<Long, List<SuperAggregateState>>> map = (Map) statusData.stream().sorted(Comparator.comparing((v0) -> { |
| | | return v0.getFactoryDate(); |
| | | }).reversed()).collect(Collectors.groupingBy((v0) -> { |
| | | Map<Integer, Map<Long, List<SuperAggregateState>>> map = statusData.stream().sorted(Comparator.comparing(SuperAggregateState::getFactoryDate).reversed()).collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getFactoryDate(); |
| | | }, Collectors.groupingBy((v0) -> { |
| | | return v0.getWorkstationId(); |
| | | }))); |
| | | List<TimeUsedDateExcel> timeUsedExports = Lists.newArrayList(); |
| | | map.forEach(date, status -> { |
| | | status.forEach(workstationId, statsList -> { |
| | | Workstation workstation = (Workstation) workstationMap.getOrDefault(workstationId, new Workstation()); |
| | | GroupWorkDTO groupWork = (GroupWorkDTO) groupWorkMap.getOrDefault(workstationId, new GroupWorkDTO()); |
| | | Map<Integer, String> wcsMap = getWcsMap((Set) listGlobalWcs().stream().map(c -> { |
| | | map.forEach((date, status) -> { |
| | | status.forEach((workstationId, statsList) -> { |
| | | Workstation workstation = workstationMap.getOrDefault(workstationId, new Workstation()); |
| | | GroupWorkDTO groupWork = groupWorkMap.getOrDefault(workstationId, new GroupWorkDTO()); |
| | | Map<Integer, String> wcsMap = getWcsMap(listGlobalWcs().stream().map(c -> { |
| | | return Integer.valueOf(Integer.parseInt(c.getCode())); |
| | | }).collect(Collectors.toSet()), statsList); |
| | | timeUsedExports.add(TimeUsedDateExcel.builder().date(getDay(date)).groupName(groupWork.getName()).workstationCode(workstation.getCode()).workstationName(workstation.getName()).running(wcsMap.get(DefaultWcsEnum.RUNNING.getCode())).standby(wcsMap.get(DefaultWcsEnum.STANDBY.getCode())).debugging(wcsMap.get(DefaultWcsEnum.DEBUGGING.getCode())).alarm(wcsMap.get(DefaultWcsEnum.ALARM.getCode())).offline(wcsMap.get(DefaultWcsEnum.OFFLINE.getCode())).build()); |
| | | }); |
| | | }); |
| | | timeUsedExports.sort(Comparator.comparing(TimeUsedDateExcel::getDate).reversed()); |
| | | /* |
| | | timeUsedExports.sort(Comparator.comparing((v0) -> { |
| | | return v0.getDate(); |
| | | }).reversed()); |
| | | }).reversed());*/ |
| | | return timeUsedExports; |
| | | } |
| | | |
| | |
| | | if (Func.isEmpty(workstations)) { |
| | | endTime = endTime.minusDays(1L); |
| | | } else { |
| | | List<Long> wIds = (List) workstations.stream().map((v0) -> { |
| | | List<Long> wIds = workstations.stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | Map<Long, Workstation> workstationMap = (Map) workstations.stream().collect(Collectors.toMap((v0) -> { |
| | | Map<Long, Workstation> workstationMap = workstations.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getId(); |
| | | }, v -> { |
| | | return v; |
| | | })); |
| | | Map<String, List<Workstation>> calendarCodeMap = (Map) workstations.stream().collect(Collectors.groupingBy((v0) -> { |
| | | Map<String, List<Workstation>> calendarCodeMap = workstations.stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getCalendarCode(); |
| | | })); |
| | | LocalDate finalEndTime = endTime; |
| | | Map<String, Map<Integer, ShiftDetail>> shiftNameMap = new HashMap<>(calendarCodeMap.size()); |
| | | calendarCodeMap.forEach(calendarCode, wList -> { |
| | | calendarCodeMap.forEach((calendarCode, wList) -> { |
| | | List<ShiftDetail> timeShiftDetail = TimeSliceCache.getTimeShiftDetail(calendarCode, finalEndTime); |
| | | Map<Integer, ShiftDetail> map = (Map) timeShiftDetail.stream().collect(Collectors.toMap((v0) -> { |
| | | Map<Integer, ShiftDetail> map = timeShiftDetail.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getShiftIndex(); |
| | | }, v2 -> { |
| | | return v2; |
| | |
| | | if (Func.isEmpty(states)) { |
| | | return Lists.newArrayList(); |
| | | } |
| | | Map<Long, Map<Integer, List<SuperAggregateState>>> stateMap = (Map) states.stream().filter(c -> { |
| | | Map<Long, Map<Integer, List<SuperAggregateState>>> stateMap = states.stream().filter(c -> { |
| | | return MdcConstant.SHIFT_INDEX.contains(c.getShiftIndex()); |
| | | }).collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getWorkstationId(); |
| | |
| | | return v0.getShiftIndex(); |
| | | }))); |
| | | List<TimeUsedExport> res = Lists.newArrayList(); |
| | | stateMap.forEach(workstationId, shiftMap -> { |
| | | stateMap.forEach((workstationId, shiftMap) -> { |
| | | Workstation workstation = (Workstation) workstationMap.getOrDefault(workstationId, new Workstation()); |
| | | GroupWorkDTO groupWorkDTO = (GroupWorkDTO) groupWorkMap.getOrDefault(workstationId, new GroupWorkDTO()); |
| | | shiftMap.forEach(shiftIndex, stateList -> { |
| | | shiftMap.forEach((shiftIndex, stateList) -> { |
| | | if (MdcConstant.SHIFT_INDEX.contains(shiftIndex)) { |
| | | String shiftName = (String) Optional.ofNullable(shiftNameMap.get(workstation.getCalendarCode())).map(m -> { |
| | | String shiftName = Optional.ofNullable(shiftNameMap.get(workstation.getCalendarCode())).map(m -> { |
| | | return ((ShiftDetail) m.getOrDefault(shiftIndex, new ShiftDetail())).getIndexName(); |
| | | }).orElse(MessageUtils.message("calendar.page.shift.model.shift", new Object[0]) + shiftIndex); |
| | | Map<Integer, String> wcsMap = getWcsMap((Set) listGlobalWcs().stream().map(c2 -> { |
| | | Map<Integer, String> wcsMap = getWcsMap(listGlobalWcs().stream().map(c2 -> { |
| | | return Integer.valueOf(Integer.parseInt(c2.getCode())); |
| | | }).collect(Collectors.toSet()), stateList); |
| | | TimeUsedExport build = TimeUsedExport.builder().date(date).groupName(groupWorkDTO.getName()).workstationCode(workstation.getCode()).workstationName(workstation.getName()).shiftName(shiftName).running(wcsMap.get(DefaultWcsEnum.RUNNING.getCode())).standby(wcsMap.get(DefaultWcsEnum.STANDBY.getCode())).debugging(wcsMap.get(DefaultWcsEnum.DEBUGGING.getCode())).alarm(wcsMap.get(DefaultWcsEnum.ALARM.getCode())).offline(wcsMap.get(DefaultWcsEnum.OFFLINE.getCode())).build(); |
| | |
| | | } |
| | | |
| | | private Map<Integer, String> getWcsMap(Set<Integer> wcsList, List<SuperAggregateState> states) { |
| | | Map<Integer, Long> map = (Map) states.stream().filter(c -> { |
| | | Map<Integer, Long> map = states.stream().filter(c -> { |
| | | return (!wcsList.contains(c.getValueCollect()) || c.getValueCollect() == null || c.getDurationCollect() == null) ? false : true; |
| | | }).collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getValueCollect(); |
| | |
| | | private WorkstationBandShiftVO getWorkShiftIndexName(QueryShiftIndexNameVO vo) { |
| | | List<String> ids = vo.getIds(); |
| | | LocalDate localDate = vo.getLocalDate(); |
| | | List<Workstation> workstations = this.workstationService.list(Wrappers.<Workstation>lambdaQuery() |
| | | .in(Func.isNotEmpty(ids), Workstation::getId, ids) |
| | | .eq(Workstation::getType, WorkstationTypeEnum.MACHINE.getCode()) |
| | | .isNotNull(Workstation::getCalendarCode) |
| | | .orderByAsc(Workstation::getCode)); |
| | | /* |
| | | List<Workstation> workstations = this.workstationService.list((Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().in(Func.isNotEmpty(ids), (v0) -> { |
| | | return v0.getId(); |
| | | }, ids).eq((v0) -> { |
| | |
| | | return v0.getCalendarCode(); |
| | | })).orderByAsc((v0) -> { |
| | | return v0.getCode(); |
| | | })); |
| | | }));*/ |
| | | return getWorkstationBandShiftVO(localDate, workstations); |
| | | } |
| | | |
| | | private WorkstationBandShiftVO getWorkstationBandShiftVO(LocalDate localDate, List<Workstation> workstations) { |
| | | Map<String, List<Workstation>> calendarCodeMap = (Map) workstations.stream().collect(Collectors.groupingBy((v0) -> { |
| | | Map<String, List<Workstation>> calendarCodeMap = workstations.stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getCalendarCode(); |
| | | })); |
| | | if (Func.isEmpty(calendarCodeMap)) { |
| | |
| | | } |
| | | if (calendarCodeMap.size() == 1) { |
| | | List<MixShiftDetailsDTO> result = Lists.newArrayList(); |
| | | calendarCodeMap.forEach(calendarCode, workstationList -> { |
| | | calendarCodeMap.forEach((calendarCode, workstationList) -> { |
| | | List<ShiftIndexNameDTO> shiftDetails = this.calendarService.queryShiftIndexName(calendarCode, Integer.valueOf(localDate.getYear()), DateUtil.formatDate(localDate)); |
| | | this.calendarService.queryShiftIndexName(calendarCode, Integer.valueOf(localDate.getYear()), DateUtil.formatDate(localDate)); |
| | | for (ShiftIndexNameDTO shiftDetail : shiftDetails) { |
| | |
| | | List<ShiftIndexNameDTO> shiftTwo = Lists.newArrayList(); |
| | | List<ShiftIndexNameDTO> shiftThree = Lists.newArrayList(); |
| | | List<ShiftIndexNameDTO> shiftFour = Lists.newArrayList(); |
| | | calendarCodeMap.forEach(calendarCode2, workstationList2 -> { |
| | | calendarCodeMap.forEach((calendarCode2, workstationList2) -> { |
| | | List<ShiftIndexNameDTO> shiftDetails = this.calendarService.queryShiftIndexName(calendarCode2, Integer.valueOf(localDate.getYear()), DateUtil.formatDate(localDate)); |
| | | for (ShiftIndexNameDTO shiftDetail : shiftDetails) { |
| | | if (CalendarConstant.ONE.equals(shiftDetail.getShiftIndex())) { |
| | |
| | | String groupType = vo.getGroupType(); |
| | | String groupCategory = vo.getGroupCategory(); |
| | | LocalDate localDate = vo.getLocalDate(); |
| | | List<CommonGroup> commonGroups = this.commonGroupService.list(Wrappers.<CommonGroup>lambdaQuery() |
| | | .eq(CommonGroup::getGroupType, groupType) |
| | | .eq(CommonGroup::getGroupCategory, groupCategory) |
| | | .in(Func.isNotEmpty(ids), CommonGroup::getId, ids)); |
| | | /* |
| | | List<CommonGroup> commonGroups = this.commonGroupService.list(((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getGroupType(); |
| | | }, groupType)).eq((v0) -> { |
| | | return v0.getGroupCategory(); |
| | | }, groupCategory)).in(Func.isNotEmpty(ids), (v0) -> { |
| | | return v0.getId(); |
| | | }, ids)); |
| | | }, ids));*/ |
| | | if (Func.isEmpty(commonGroups)) { |
| | | return new WorkstationBandShiftVO(); |
| | | } |
| | | List<String> groupIds = (List) commonGroups.stream().map(c -> { |
| | | List<String> groupIds = commonGroups.stream().map(c -> { |
| | | return String.valueOf(c.getId()); |
| | | }).collect(Collectors.toList()); |
| | | List<Workstation> workstations = this.workstationService.listWorkStationByGroupId(groupIds); |