| | |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if(platformLogList!=null && platformLogList.size()>0){ |
| | | return this.getWorkTime(totalAmount,platformLogList); |
| | | return this.getWorkTime(totalAmount,platformLogList,today); |
| | | } |
| | | return r; |
| | | } |
| | |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if(platformLogList!=null && platformLogList.size()>0){ |
| | | return this.getWorkTime(totalAmount,platformLogList); |
| | | return this.getWorkTime(totalAmount,platformLogList,today); |
| | | } |
| | | return r; |
| | | } |
| | |
| | | * @param platformLogList |
| | | * @return |
| | | */ |
| | | public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList){ |
| | | public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList,String today){ |
| | | if(CollectionUtils.isEmpty(platformLogList)){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | //获取开始时间 |
| | | List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList()); |
| | | List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())) |
| | | .filter(i->Objects.nonNull(i.getParam1())&&i.getParam1().indexOf(today)>=0) |
| | | .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList()); |
| | | Long startTime = Collections.min(startTimeList); |
| | | //获取结束时间 |
| | | List<Long> endTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam2())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList()); |
| | | List<Long> endTimeList = platformLogList.stream() |
| | | .filter(i->Objects.nonNull(i.getParam2())&&i.getParam2().indexOf(today)>=0) |
| | | .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList()); |
| | | Long endTime = Collections.max(endTimeList); |
| | | if(Objects.isNull(startTime) |
| | | || Objects.isNull(endTime) || (startTime>=endTime)){ |
| | |
| | | } |
| | | return totalAmount.divide(new BigDecimal(( endTime - startTime )+"").divide(new BigDecimal("3600000"),2,BigDecimal.ROUND_HALF_UP),2,BigDecimal.ROUND_HALF_UP) ; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) { |