|
@@ -115,6 +115,72 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private List<ReportVo> getWorkTrent(ReportPo po){
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+
|
|
|
+
|
|
|
+ String startTime = po.getStartTime();
|
|
|
+ String endTime = po.getEndTime();
|
|
|
+ String timeType = po.getTimeType();
|
|
|
+ String type = po.getPoType();
|
|
|
+ String infoType = po.getInfoType();
|
|
|
+ if (StrUtil.isBlank(infoType)){
|
|
|
+ infoType = "all";
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
+
|
|
|
+ if ("day".equals(timeType)){
|
|
|
+ builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, mix, pano, age, type from tb_report where is_delete=0 ");
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+
|
|
|
+ } else if ("week".equals(timeType)){
|
|
|
+ builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
|
|
|
+ builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day), '%Y-%m-%d' ) as groupKey, mix, pano, age,type from tb_report where is_delete=0 ");
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+ builder.append(" ) as a group by groupKey");
|
|
|
+ } else {
|
|
|
+ builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
|
|
|
+ builder.append(" select DATE_FORMAT(day, '%Y-%m') as groupKey, mix,age, pano,type from tb_report where is_delete=0");
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+ builder.append(" ) as a group by groupKey");
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ if ("day".equals(timeType)){ // 默认最近30天
|
|
|
+ builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, mix, pano, age, type from tb_report where is_delete=0 and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+ } else if ("week".equals(timeType)){ // 默认最近半年
|
|
|
+ builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
|
|
|
+ builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day), '%Y-%m-%d' ) as groupKey, mix, pano, age,type from tb_report where is_delete=0 and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 200 DAY)");
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+ builder.append(" ) as a group by groupKey");
|
|
|
+ } else { // 默认最近6个月
|
|
|
+ builder.append(" select groupKey, sum(mix) as mix,sum(age) as age,sum(pano) as pano,type from (");
|
|
|
+ builder.append(" select DATE_FORMAT(day, '%Y-%m') as groupKey, mix,age, pano,type from tb_report where is_delete=0");
|
|
|
+ builder.append( " and DATE(day) >= DATE_FORMAT(DATE_SUB( now(), INTERVAL 6 MONTH),'%Y-%m')");
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+ builder.append(" ) as a group by groupKey");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ builder.append(" order by groupKey desc");
|
|
|
+
|
|
|
+ List<ReportVo> res = entityMapper.listReportVoSql(builder.toString());
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Result reportWork() {
|
|
|
Map map = workService.countByType(null);
|
|
@@ -136,30 +202,31 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
|
|
|
|
|
|
@Override
|
|
|
public Result workTrend(ReportPo po) {
|
|
|
- List<Map> trent = this.getTrent(po);
|
|
|
- Condition condition = new Condition(ReportEntity.class);
|
|
|
- condition.and().andEqualTo("infoType", po.getInfoType());
|
|
|
- condition.and().andEqualTo("type", po.getPoType());
|
|
|
- List<ReportEntity> all = this.findAll(condition);
|
|
|
-
|
|
|
- List<ReportVo> res = new ArrayList<>();
|
|
|
- for (Map map : trent) {
|
|
|
- for (Object key : map.keySet()) {
|
|
|
- String groupKey = (String) key;
|
|
|
- for (ReportEntity entity : all) {
|
|
|
- String day = entity.getDay().toString();
|
|
|
- if (groupKey.contains(day)){
|
|
|
- ReportVo vo = new ReportVo();
|
|
|
- BeanUtils.copyProperties(entity, vo);
|
|
|
- vo.setGroupKey(groupKey);
|
|
|
- res.add(vo);
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return Result.success(res);
|
|
|
+ List<ReportVo> trent = this.getWorkTrent(po);
|
|
|
+// Condition condition = new Condition(ReportEntity.class);
|
|
|
+// condition.and().andEqualTo("infoType", po.getInfoType());
|
|
|
+// condition.and().andEqualTo("type", po.getPoType());
|
|
|
+// List<ReportEntity> all = this.findAll(condition);
|
|
|
+//
|
|
|
+// List<ReportVo> res = new ArrayList<>();
|
|
|
+// for (Map map : trent) {
|
|
|
+// String groupKey = (String)map.get("groupKey");
|
|
|
+// log.info("groupKey: {}", groupKey);
|
|
|
+// for (ReportEntity entity : all) {
|
|
|
+// String day = entity.getDay().toString();
|
|
|
+// log.info("day: {}", day);
|
|
|
+// if (day.contains(groupKey)){
|
|
|
+// System.out.println("=========================================================");
|
|
|
+// ReportVo vo = new ReportVo();
|
|
|
+// BeanUtils.copyProperties(entity, vo);
|
|
|
+// vo.setGroupKey(groupKey);
|
|
|
+// res.add(vo);
|
|
|
+//
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+ return Result.success(trent);
|
|
|
}
|
|
|
|
|
|
private Integer convert(Integer num){
|