|
@ -1748,7 +1748,7 @@ public class DailyReportUploadService {
|
|
|
reportItemDO.setCompletionHour(completionHour);
|
|
|
}else {
|
|
|
//查询出关联的日报详情,计算完成时间
|
|
|
sql = " select IFNULL(sum(actual_completion_hour),'0') from base_daily_report_detail " +
|
|
|
sql = " select sum(IFNULL(actual_completion_hour,IFNULL(completion_hour,'0'))) from base_daily_report_detail " +
|
|
|
" where report_item_id='"+item_id+"' ";
|
|
|
String completionHoursql = jdbcTemplate.queryForObject(sql,String.class);
|
|
|
reportItemDO.setCompletionHour(completionHoursql);
|
|
@ -1903,9 +1903,9 @@ public class DailyReportUploadService {
|
|
|
List<BaseDailyReportItemDO> itemDOS = new ArrayList<>();
|
|
|
String sqlCondition = " ";
|
|
|
String sqlList = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName," +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,count(distinct up.doctor_id) as doctorTotal " +
|
|
|
" from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id " +
|
|
|
" where i.del=1 ";
|
|
|
" INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id where i.del=1 ";
|
|
|
String sqlCount = " select count(distinct i.id) from base_daily_report_item i where i.del=1 ";
|
|
|
if (StringUtils.isNotBlank(title)){
|
|
|
sqlCondition +=" and i.title like '%"+title+"%' ";
|
|
@ -1942,23 +1942,23 @@ public class DailyReportUploadService {
|
|
|
}
|
|
|
if(1==type){//天
|
|
|
sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time' " +
|
|
|
"from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
|
|
|
" count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +
|
|
|
"where 1=1 and i.id='"+item_id+"' " +
|
|
|
"group by i.id,DATE_FORMAT(de.create_time,'%Y-%m-%d') order by time asc ";
|
|
|
}else if (2==type){//按周
|
|
|
sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time' " +
|
|
|
"from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
|
|
|
" count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +
|
|
|
"where 1=1 and i.id='"+item_id+"' " +
|
|
|
"group by i.id,DATE_FORMAT(de.create_time,'%Y%v') order by time asc ";
|
|
|
}else if (3==type){//月
|
|
|
sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time' " +
|
|
|
"from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time', " +
|
|
|
" count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +
|
|
|
"where 1=1 and i.id='"+item_id+"' " +
|
|
|
"group by i.id,DATE_FORMAT(de.create_time,'%Y-%m') order by time asc ";
|
|
|
}else {
|
|
@ -1989,35 +1989,44 @@ public class DailyReportUploadService {
|
|
|
if (StringUtils.isNotBlank(member)){
|
|
|
memberSql = " and up.doctor_id='"+member+"' ";
|
|
|
}
|
|
|
String searchTimeFormat = "";
|
|
|
if(0==type){
|
|
|
sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time' " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time'," +
|
|
|
" DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'searchTime' " +
|
|
|
"from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +
|
|
|
"where 1=1 and i.id='"+item_id+"' " +memberSql+
|
|
|
"group by i.id,up.doctor_id order by completionHour desc ";
|
|
|
searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m-%d') ";
|
|
|
}
|
|
|
else if(1==type){//天
|
|
|
sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time' " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
|
|
|
"DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'searchTime' " +
|
|
|
"from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +
|
|
|
"where 1=1 and i.id='"+item_id+"' " +
|
|
|
"group by i.id,up.doctor_id,DATE_FORMAT(de.create_time,'%Y-%m-%d') order by time asc ";
|
|
|
searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m-%d') ";
|
|
|
}else if (2==type){//按周
|
|
|
sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time' " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
|
|
|
"DATE_FORMAT(de.create_time,'%Y%v') as 'searchTime' " +
|
|
|
"from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +
|
|
|
"where 1=1 and i.id='"+item_id+"' " +memberSql+
|
|
|
"group by i.id,up.doctor_id,DATE_FORMAT(de.create_time,'%Y%v') order by time asc ";
|
|
|
searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y%v') ";
|
|
|
}else if (3==type){//月
|
|
|
sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
|
|
|
" CAST(IFNULL(sum(de.actual_completion_hour),'0') as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time' " +
|
|
|
" CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time', " +
|
|
|
"DATE_FORMAT(de.create_time,'%Y-%m') as 'searchTime' " +
|
|
|
"from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
|
|
|
"on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +
|
|
|
"where 1=1 and i.id='"+item_id+"' " +memberSql+
|
|
|
"group by i.id,up.doctor_id,DATE_FORMAT(de.create_time,'%Y-%m') order by time asc ";
|
|
|
searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m') ";
|
|
|
}else {
|
|
|
throw new Exception("查询失败,请检查传入参数");
|
|
|
}
|
|
@ -2031,7 +2040,18 @@ public class DailyReportUploadService {
|
|
|
tmp.put("avgValue",avgValue);
|
|
|
Double completionHour = Double.valueOf(tmp.get("completionHour").toString());
|
|
|
tmp.put("timeRange",getRangeDouble(completionHour,totalHour));
|
|
|
String searchTime =tmp.get("searchTime").toString();
|
|
|
String doctorId = tmp.get("doctor_id").toString();
|
|
|
sql = " select up.doctor_name,up.report_date,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour " +
|
|
|
" from base_daily_report_detail de INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id " +
|
|
|
"where de.report_item_id='"+item_id+"' and up.doctor_id='"+doctorId+"' " +
|
|
|
"and "+searchTimeFormat+"='"+searchTime+"' " +
|
|
|
"GROUP BY up.report_date ORDER BY up.report_date asc ";
|
|
|
List<Map<String,Object>> timeUseList = jdbcTemplate.queryForList(sql);
|
|
|
tmp.put("timeUseList",timeUseList);
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
return list;
|
|
|
}
|