| | |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.InvocationTargetException; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.text.DecimalFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | |
| | | )) |
| | | .append("loseCount", new Document("$sum", |
| | | new Document("$cond", Arrays.asList( |
| | | new Document("$in", Arrays.asList("$recordStatus", Arrays.asList(-1, 0))), |
| | | new Document("$eq", Arrays.asList("$recordStatus", 0)), |
| | | 1, |
| | | 0 |
| | | )) |
| | | )) |
| | | .append("errCount", new Document("$sum", |
| | | new Document("$cond", Arrays.asList( |
| | | new Document("$eq", Arrays.asList("$recordStatus", -1)), |
| | | 1, |
| | | 0 |
| | | )) |
| | |
| | | homeVideoVO.setCreateDate(doc.getDate("_id")); |
| | | homeVideoVO.setIntegrityNum(doc.getInteger("normalCount")); |
| | | homeVideoVO.setLoseNum(doc.getInteger("loseCount")); |
| | | homeVideoVO.setErrNum(doc.getInteger("errCount")); |
| | | results.add(homeVideoVO); |
| | | } |
| | | |
| | |
| | | field.setAccessible(true); |
| | | //防止转换为科学计数法 |
| | | BigDecimal bigDecimal = BigDecimal.valueOf(recordResult.getMissDuration() == null ? 0 : (recordResult.getMissDuration()) * 60); |
| | | field.set(videoDailyExp, bigDecimal.toString()); |
| | | field.set(videoDailyExp, bigDecimal.setScale(2, RoundingMode.HALF_UP).toString()); |
| | | } |
| | | } |
| | | } |