|
@@ -5,6 +5,7 @@ import com.gis.common.util.Result;
|
|
|
import com.gis.domain.entity.ReportEntity;
|
|
|
import com.gis.domain.po.ReportPo;
|
|
|
import com.gis.domain.vo.ReportVo;
|
|
|
+import com.gis.domain.vo.ReportWorkVo;
|
|
|
import com.gis.mapper.IBaseMapper;
|
|
|
import com.gis.mapper.ReportMapper;
|
|
|
import com.gis.service.FodderService;
|
|
@@ -50,10 +51,140 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
|
|
|
|
|
|
}
|
|
|
|
|
|
- private List<Map> getTrent(ReportPo po){
|
|
|
- StringBuilder builder = new StringBuilder();
|
|
|
+// private List<Map> getTrent(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, total as count, 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(total) as count,type from (");
|
|
|
+// builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day), '%Y-%m-%d' ) as groupKey, total,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(total) as count,type from (");
|
|
|
+// builder.append(" select DATE_FORMAT(day, '%Y-%m') as groupKey, total,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, total as count, 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(total) as count,type from (");
|
|
|
+// builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day), '%Y-%m-%d' ) as groupKey, total,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(total) as count,type from (");
|
|
|
+// builder.append(" select DATE_FORMAT(day, '%Y-%m') as groupKey, total,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<Map> res = entityMapper.listMapSql(builder.toString());
|
|
|
+// 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;
|
|
|
+// }
|
|
|
|
|
|
|
|
|
+ private List<Map> getTrent(ReportPo po){
|
|
|
+
|
|
|
String startTime = po.getStartTime();
|
|
|
String endTime = po.getEndTime();
|
|
|
String timeType = po.getTimeType();
|
|
@@ -62,64 +193,23 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
|
|
|
if (StrUtil.isBlank(infoType)){
|
|
|
infoType = "all";
|
|
|
}
|
|
|
- if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
|
|
|
+ String sqlStr ;
|
|
|
if ("day".equals(timeType)){
|
|
|
- builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, total as count, 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("'");
|
|
|
+ sqlStr = dayTrentSql(infoType, type, startTime, endTime);
|
|
|
|
|
|
} else if ("week".equals(timeType)){
|
|
|
- builder.append(" select groupKey, sum(total) as count,type from (");
|
|
|
- builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day), '%Y-%m-%d' ) as groupKey, total,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");
|
|
|
+ sqlStr = weekTrentSql(infoType, type, startTime, endTime);
|
|
|
} else {
|
|
|
- builder.append(" select groupKey, sum(total) as count,type from (");
|
|
|
- builder.append(" select DATE_FORMAT(day, '%Y-%m') as groupKey, total,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");
|
|
|
+ sqlStr = monthTrentSql(infoType, type, startTime, endTime);
|
|
|
}
|
|
|
|
|
|
- } else {
|
|
|
-
|
|
|
- if ("day".equals(timeType)){ // 默认最近30天
|
|
|
- builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, total as count, 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(total) as count,type from (");
|
|
|
- builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day), '%Y-%m-%d' ) as groupKey, total,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(total) as count,type from (");
|
|
|
- builder.append(" select DATE_FORMAT(day, '%Y-%m') as groupKey, total,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<Map> res = entityMapper.listMapSql(builder.toString());
|
|
|
+ List<Map> res = entityMapper.listMapSql(sqlStr);
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
|
|
|
private List<ReportVo> getWorkTrent(ReportPo po){
|
|
|
- StringBuilder builder = new StringBuilder();
|
|
|
-
|
|
|
-
|
|
|
String startTime = po.getStartTime();
|
|
|
String endTime = po.getEndTime();
|
|
|
String timeType = po.getTimeType();
|
|
@@ -128,74 +218,128 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
|
|
|
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("'");
|
|
|
+ String sqlStr ;
|
|
|
+ if ("day".equals(timeType)){
|
|
|
+ sqlStr = dayWorkTrentSql(infoType, type, startTime, endTime);
|
|
|
+
|
|
|
+ } else if ("week".equals(timeType)){
|
|
|
+ sqlStr = weekWorkTrentSql(infoType, type, startTime, endTime);
|
|
|
+ } else {
|
|
|
+ sqlStr = monthWorkTrentSql(infoType, type, startTime, endTime);
|
|
|
+ }
|
|
|
|
|
|
- } 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");
|
|
|
- }
|
|
|
|
|
|
+ List<ReportVo> res = entityMapper.listReportVoSql(sqlStr);
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ private String dayTrentSql(String infoType, String type, String startTime, String endTime){
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, total as count, type from tb_report where is_delete=0 ");
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
} else {
|
|
|
+ builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
|
|
|
+ }
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+ builder.append(" order by groupKey desc");
|
|
|
|
|
|
- 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");
|
|
|
- }
|
|
|
+ return builder.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ private String weekTrentSql(String infoType, String type, String startTime, String endTime){
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ builder.append(" select groupKey, sum(total) as count,type from (");
|
|
|
+ builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day), '%Y-%m-%d' ) as groupKey, total," +
|
|
|
+ " type from tb_report where is_delete=0 ");
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ } else {
|
|
|
+ builder.append(" 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");
|
|
|
+ builder.append(" order by groupKey desc");
|
|
|
|
|
|
+ return builder.toString();
|
|
|
+ }
|
|
|
|
|
|
+ private String monthTrentSql(String infoType, String type, String startTime, String endTime){
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ builder.append(" select groupKey, sum(total) as count,type from (");
|
|
|
+ builder.append(" select DATE_FORMAT(day, '%Y-%m') as groupKey, total,type from tb_report where is_delete=0");
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ } else {
|
|
|
+ // 默认6个月
|
|
|
+ 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;
|
|
|
+ return builder.toString();
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Result reportWork() {
|
|
|
- Map map = workService.countByType(null);
|
|
|
- HashMap<Object, Object> res = null;
|
|
|
- if (map.size() != 3){
|
|
|
|
|
|
- Integer mix = convert((Integer)map.get("mix")) ;
|
|
|
- Integer age = convert((Integer)map.get("4dkk")) ;
|
|
|
- Integer pano = convert((Integer)map.get("pano")) ;
|
|
|
+ private String dayWorkTrentSql(String infoType, String type, String startTime, String endTime){
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, mix, pano, age, type from tb_report where is_delete=0 ");
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ } else {
|
|
|
+ builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
|
|
|
+ }
|
|
|
+ builder.append(" and type='").append(type).append("'");
|
|
|
+ builder.append(" and info_type='").append(infoType).append("'");
|
|
|
+ builder.append(" order by groupKey desc");
|
|
|
+
|
|
|
+ return builder.toString();
|
|
|
+ }
|
|
|
|
|
|
- map.put("mix", mix);
|
|
|
- map.put("age", age);
|
|
|
- map.put("pano", pano);
|
|
|
+ private String weekWorkTrentSql(String infoType, String type, String startTime, String endTime){
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ 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 ");
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ } else {
|
|
|
+ builder.append(" 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");
|
|
|
+ builder.append(" order by groupKey desc");
|
|
|
|
|
|
+ return builder.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ private String monthWorkTrentSql(String infoType, String type, String startTime, String endTime){
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ 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");
|
|
|
+ if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
|
|
|
+ builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
|
|
|
+ } else {
|
|
|
+ // 默认6个月
|
|
|
+ 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");
|
|
|
+
|
|
|
+ return builder.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result reportWork() {
|
|
|
+ List<ReportWorkVo> map = workService.countByType(null);
|
|
|
|
|
|
return Result.success(map);
|
|
|
}
|
|
@@ -203,42 +347,9 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
|
|
|
@Override
|
|
|
public Result workTrend(ReportPo po) {
|
|
|
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){
|
|
|
- return num == null ? 0 : num;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
- private int total(String type){
|
|
|
- Integer count = entityMapper.countIntSql(StrUtil.format("select sum(total) as count, type from tb_report where is_delete=0 and type='{}'", type));
|
|
|
- return count == null ? 0 : count;
|
|
|
- }
|
|
|
}
|