| | |
| | | package com.qianwen.smartman.modules.report.service.impl; |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.google.common.collect.Lists; |
| | |
| | | import com.qianwen.smartman.modules.report.vo.WorkstationAlarmByShiftSelectVO; |
| | | import com.qianwen.smartman.modules.report.vo.WorkstationAlarmByTimeSelectVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | |
| | | @Service |
| | | /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/report/service/impl/WorkstationAlarmServiceImpl.class */ |
| | | public class WorkstationAlarmServiceImpl implements IWorkstationAlarmService { |
| | |
| | | private final IShiftDetailService shiftDetailService; |
| | | private final CalendarMapper calendarMapper; |
| | | private static final String TIME_CONDITION = "showDate"; |
| | | |
| | | |
| | | public WorkstationAlarmServiceImpl(final SuperAlarmMapper superAlarmMapper, final WorkstationMapper workstationMapper, final IShiftDetailService shiftDetailService, final CalendarMapper calendarMapper) { |
| | | this.superAlarmMapper = superAlarmMapper; |
| | | this.workstationMapper = workstationMapper; |
| | | this.shiftDetailService = shiftDetailService; |
| | | this.calendarMapper = calendarMapper; |
| | | } |
| | | |
| | | |
| | | @Override // org.springblade.modules.report.service.IWorkstationAlarmService |
| | | public JSONObject alarmReportByTime(WorkstationAlarmByTimeSelectVO workstationAlarmByTimeSelectVO) { |
| | | workstationAlarmByTimeSelectVO.setShowDate_begin(DateCycleUtil.setTimeCondition(TIME_CONDITION, Boolean.TRUE)); |
| | |
| | | return jsonObject; |
| | | } |
| | | CommonUtil.fillWorkStationGroup(workstationVOPage); |
| | | List<Long> workstationIds = (List) voPageRecords.stream().map((v0) -> { |
| | | List<Long> workstationIds = voPageRecords.stream().map((v0) -> { |
| | | return v0.getWorkstationId(); |
| | | }).collect(Collectors.toList()); |
| | | StatisticalMethodEnum anEnum = StatisticalMethodEnum.of(workstationAlarmByTimeSelectVO.getDateCycle()); |
| | |
| | | result.add(resultVO); |
| | | }); |
| | | }); |
| | | Map<String, WorkstaionAlarmByTimeReportVO> voMap = (Map) result.parallelStream().collect(Collectors.toMap(c -> { |
| | | Map<String, WorkstaionAlarmByTimeReportVO> voMap = result.parallelStream().collect(Collectors.toMap(c -> { |
| | | return c.getWorkstationId() + c.getShowDate(); |
| | | }, o -> { |
| | | return o; |
| | | })); |
| | | Map<Long, Integer> wsCount = (Map) reportData.parallelStream().collect(Collectors.groupingBy((v0) -> { |
| | | Map<Long, Integer> wsCount = reportData.parallelStream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getWorkstationId(); |
| | | }, Collectors.reducing(0, e -> { |
| | | return 1; |
| | | }, (v0, v1) -> { |
| | | return Integer.sum(v0, v1); |
| | | }))); |
| | | Map<Long, List<WorkstaionAlarmByTimeReportVO>> workstationOutMap = (Map) reportData.parallelStream().collect(Collectors.groupingBy((v0) -> { |
| | | Map<Long, List<WorkstaionAlarmByTimeReportVO>> workstationOutMap = reportData.parallelStream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getWorkstationId(); |
| | | })); |
| | | workstationOutMap.forEach(workstationId, outputList -> { |
| | | Map<String, Integer> countMap = (Map) outputList.parallelStream().collect(Collectors.groupingBy(groupKey(anEnum), Collectors.reducing(0, e2 -> { |
| | | workstationOutMap.forEach((workstationId, outputList) -> { |
| | | Map<String, Integer> countMap = outputList.parallelStream().collect(Collectors.groupingBy(groupKey(anEnum), Collectors.reducing(0, e2 -> { |
| | | return 1; |
| | | }, (v0, v1) -> { |
| | | return Integer.sum(v0, v1); |
| | | }))); |
| | | countMap.forEach(k, v -> { |
| | | countMap.forEach((k, v) -> { |
| | | WorkstaionAlarmByTimeReportVO vo = (WorkstaionAlarmByTimeReportVO) voMap.get(workstationId + k); |
| | | if (!Objects.isNull(vo)) { |
| | | vo.setAlarmCount(v); |
| | |
| | | jsonObject.put("count", Long.valueOf(workstationVOPage.getTotal())); |
| | | return jsonObject; |
| | | } |
| | | |
| | | |
| | | @Override // org.springblade.modules.report.service.IWorkstationAlarmService |
| | | public JSONObject drillAlarmReportByTime(DrillWorkstationAlarmByTimeSelectVO drillWorkstationAlarmByTimeSelectVO) { |
| | | StatisticalMethodEnum anEnum; |
| | |
| | | return ResultUtil.dataToJsonObject(null, 0L, drillWorkstationAlarmByTimeSelectVO.getPageSize()); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override // org.springblade.modules.report.service.IWorkstationAlarmService |
| | | public JSONObject alarmReportByShift(WorkstationAlarmByShiftSelectVO workstationAlarmByTimeSelectVO) { |
| | | IPage<WorkstationDataDTO> workstationVOPage; |
| | |
| | | } |
| | | CommonUtil.fillWorkStationGroup(workstationVOPage); |
| | | List<WorkstationDataDTO> workstationData = workstationVOPage.getRecords(); |
| | | List<Long> ids = (List) workstationData.parallelStream().map((v0) -> { |
| | | List<Long> ids = workstationData.parallelStream().map((v0) -> { |
| | | return v0.getWorkstationId(); |
| | | }).collect(Collectors.toList()); |
| | | List<ShiftInfoDTO> shiftInfoDtoList = this.calendarMapper.listShiftInfo(ids, LocalDate.parse(workstationAlarmByTimeSelectVO.getShowDate_begin()), LocalDate.parse(workstationAlarmByTimeSelectVO.getShowDate_end())); |
| | | List<WorkstationShiftDTO> workstationShifts = CommonUtil.dataMerge(workstationData, shiftInfoDtoList); |
| | | List<WorkstationShiftDTO> filter = (List) workstationShifts.parallelStream().filter(CommonUtil.conditionFilter(workstationAlarmByTimeSelectVO.getShiftIndexName(), workstationAlarmByTimeSelectVO.getShiftIndex())).collect(Collectors.toList()); |
| | | List<WorkstationShiftDTO> filter = workstationShifts.parallelStream().filter(CommonUtil.conditionFilter(workstationAlarmByTimeSelectVO.getShiftIndexName(), workstationAlarmByTimeSelectVO.getShiftIndex())).collect(Collectors.toList()); |
| | | List<WorkstaionAlarmByShiftReportVO> result = new ArrayList<>(); |
| | | fillDateCol.forEach(f -> { |
| | | filter.forEach(shift -> { |
| | |
| | | boolean filterType = FilterOffUtils.whetherToFilter(OpenTypeEnums.PARAM_KEY_TYPE, OpenTypeEnums.ALARM_ANALYSIS); |
| | | boolean filterShift = FilterOffUtils.whetherToFilter(OpenTypeEnums.PARAM_KEY_SHIFT, OpenTypeEnums.ALARM_ANALYSIS); |
| | | List<WorkstaionAlarmByShiftReportVO> voList = this.superAlarmMapper.alarmReportByShift(ids, beginTime, endTime, Boolean.valueOf(filterType), Boolean.valueOf(filterShift)); |
| | | Map<String, Integer> wsCount = (Map) voList.parallelStream().collect(Collectors.groupingBy(o -> { |
| | | Map<String, Integer> wsCount = voList.parallelStream().collect(Collectors.groupingBy(o -> { |
| | | return o.getWorkstationId() + "-" + o.getShiftIndex(); |
| | | }, Collectors.reducing(0, e -> { |
| | | return 1; |
| | | }, (v0, v1) -> { |
| | | return Integer.sum(v0, v1); |
| | | }))); |
| | | Map<String, List<WorkstaionAlarmByShiftReportVO>> workstationOutMap = (Map) voList.parallelStream().collect(Collectors.groupingBy(s -> { |
| | | Map<String, List<WorkstaionAlarmByShiftReportVO>> workstationOutMap = voList.parallelStream().collect(Collectors.groupingBy(s -> { |
| | | return s.getWorkstationId() + "-" + s.getShiftIndex(); |
| | | })); |
| | | Map<String, WorkstaionAlarmByShiftReportVO> voMap = (Map) result.parallelStream().collect(LinkedHashMap::new, map, c -> { |
| | | Map<String, WorkstaionAlarmByShiftReportVO> voMap = result.parallelStream().collect(LinkedHashMap::new, (map, c) -> { |
| | | WorkstaionAlarmByShiftReportVO workstaionAlarmByShiftReportVO = (WorkstaionAlarmByShiftReportVO) map.put(c.getWorkstationId() + "-" + c.getShiftIndex() + "-" + c.getShowDate(), c); |
| | | }, (v0, v1) -> { |
| | | v0.putAll(v1); |
| | | }); |
| | | workstationOutMap.forEach(key, vos -> { |
| | | Map<String, Integer> countMap = (Map) vos.parallelStream().collect(Collectors.groupingBy(o2 -> { |
| | | workstationOutMap.forEach((key, vos) -> { |
| | | Map<String, Integer> countMap = vos.parallelStream().collect(Collectors.groupingBy(o2 -> { |
| | | return LocalDate.parse(String.valueOf(o2.getFactoryDate()), DateTimeFormatter.ofPattern("yyyyMMdd")).toString(); |
| | | }, Collectors.reducing(0, e2 -> { |
| | | return 1; |
| | | }, (v0, v1) -> { |
| | | return Integer.sum(v0, v1); |
| | | }))); |
| | | countMap.forEach(k, v -> { |
| | | countMap.forEach((k, v) -> { |
| | | WorkstaionAlarmByShiftReportVO vo = (WorkstaionAlarmByShiftReportVO) voMap.get(key + "-" + k); |
| | | if (!Objects.isNull(vo)) { |
| | | vo.setAlarmCount(v); |
| | |
| | | } |
| | | return ResultUtil.dataToJsonObject(voMap.values(), Long.valueOf(workstationVOPage.getTotal()), workstationAlarmByTimeSelectVO.getPageSize()); |
| | | } |
| | | |
| | | |
| | | @Override // org.springblade.modules.report.service.IWorkstationAlarmService |
| | | public JSONObject drillAlarmReportByShift(DrillWorkstationAlarmByShiftSelectVO drillWorkstationAlarmByShiftSelectVO) { |
| | | List<DrillWorkstationAlarmByShiftVO> drillWorkstationAlarmByTimeVO; |
| | |
| | | } |
| | | LocalDate currentDate = LocalDate.parse(drillWorkstationAlarmByShiftSelectVO.getCurrentDate(), DateTimeFormatter.ofPattern(DateConstant.PATTERN_DATE)); |
| | | List<ShiftInfoDTO> shiftInfoDtoList = this.shiftDetailService.getShiftInfoDtoList(Lists.newArrayList(new Long[]{drillWorkstationAlarmByShiftSelectVO.getWorkstationId()}), currentDate, currentDate); |
| | | Map<Integer, String> shiftMap = (Map) shiftInfoDtoList.stream().collect(Collectors.toMap((v0) -> { |
| | | Map<Integer, String> shiftMap = shiftInfoDtoList.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getShiftIndex(); |
| | | }, (v0) -> { |
| | | return v0.getIndexName(); |
| | |
| | | return ResultUtil.dataToJsonObject(null, 0L, drillWorkstationAlarmByShiftSelectVO.getPageSize()); |
| | | } |
| | | } |
| | | |
| | | |
| | | private Function<WorkstaionAlarmByTimeReportVO, String> groupKey(StatisticalMethodEnum statisticalMethodEnum) { |
| | | switch (statisticalMethodEnum) { |
| | | case DAY: |
| | |
| | | }; |
| | | } |
| | | } |
| | | |
| | | |
| | | private List<WorkstaionAlarmByTimeReportVO> getData(List<WorkstaionAlarmByTimeReportVO> data) { |
| | | boolean filterType = FilterOffUtils.whetherToFilter(OpenTypeEnums.PARAM_KEY_TYPE, OpenTypeEnums.ALARM_ANALYSIS); |
| | | boolean filterShift = FilterOffUtils.whetherToFilter(OpenTypeEnums.PARAM_KEY_SHIFT, OpenTypeEnums.ALARM_ANALYSIS); |
| | | if (!filterType && !filterShift) { |
| | | return data; |
| | | } |
| | | return (List) data.stream().filter(item -> { |
| | | return data.stream().filter(item -> { |
| | | return (filterType && item.getShiftTimeType().equals(2)) ? false : true; |
| | | }).filter(item2 -> { |
| | | return !filterShift || item2.getShiftIndex().intValue() > 0; |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | } |
| | | } |