| | |
| | | import org.jeecg.modules.mdc.subcontrol.vo.LastWeekDataRankingVo; |
| | | import org.jeecg.modules.mdc.subcontrol.vo.LastWeekDataVo; |
| | | import org.jeecg.modules.mdc.subcontrol.vo.MdcEquipmentOpVo; |
| | | import org.jeecg.modules.mdc.util.DateUtils; |
| | | import org.jeecg.modules.mdc.vo.MdcEquipmentVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.xml.crypto.Data; |
| | | import java.math.BigDecimal; |
| | | import java.time.DayOfWeek; |
| | | import java.time.LocalDate; |
| | |
| | | } |
| | | |
| | | //上周班次利用率数据 |
| | | List<LastWeekDataVo> lastWeekDataList = mdcEquipmentStatisticalShiftInfoService.findDataForBigScreen(equipmentIdList, monday.toString(), saturday.toString()); |
| | | List<LastWeekDataVo> lastWeekDataList = mdcEquipmentStatisticalShiftInfoService. |
| | | findDataForBigScreen(equipmentIdList, monday.toString(), saturday.toString()); |
| | | List<String> middleDates = getMiddleDates(monday, saturday); |
| | | |
| | | if (lastWeekDataList.isEmpty()) { |
| | | for (int i = 0; i < middleDates.size(); i++) { |
| | | shiftRateList.add(new BigDecimal("0")); |
| | | } |
| | | } else { |
| | | Map<String,LastWeekDataVo> map = new HashMap<>(); |
| | | for (LastWeekDataVo s : lastWeekDataList) { |
| | | map.put(s.getTheDate(),s); |
| | | } |
| | | for (int i = 0; i < middleDates.size(); i++) { |
| | | if (i < lastWeekDataList.size()) { |
| | | if (middleDates.get(i).equals(lastWeekDataList.get(i).getTheDate()) |
| | | && !"0".equals(lastWeekDataList.get(i).getTotalLong())) { |
| | | shiftRateList.add(new BigDecimal(lastWeekDataList.get(i).getProcessingLong()). |
| | | divide(new BigDecimal(lastWeekDataList.get(i).getTotalLong()), |
| | | 6, BigDecimal.ROUND_HALF_UP) |
| | | .setScale(6, BigDecimal.ROUND_HALF_UP)); |
| | | } else { |
| | | shiftRateList.add(new BigDecimal("0")); |
| | | if ( map.containsKey(middleDates.get(i))) { |
| | | LastWeekDataVo vo = map.get(middleDates.get(i)); |
| | | if (!"0".equals(vo.getTotalLong())) { |
| | | shiftRateList.add(new BigDecimal(vo.getProcessingLong()). |
| | | divide(new BigDecimal(vo.getTotalLong()), |
| | | 4, BigDecimal.ROUND_HALF_UP) |
| | | .setScale(4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100))); |
| | | } else { |
| | | shiftRateList.add(new BigDecimal("0")); |
| | | } |
| | | } |
| | | |
| | | } |
| | | else { |
| | | shiftRateList.add(new BigDecimal("0")); |
| | |
| | | List<String> localDateList = new ArrayList<>(); |
| | | long length = end.toEpochDay() - begin.toEpochDay(); |
| | | for (long i = length; i >= 0; i--) { |
| | | localDateList.add(end.minusDays(i).toString()); |
| | | String date = end.minusDays(i).toString().replace("-",""); |
| | | localDateList.add(date); |
| | | } |
| | | return localDateList; |
| | | } |