|  | @ -369,22 +369,14 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         for (BaseDailyReportDetailDO tmp :detailDOList){
 | 
	
		
			
				|  |  |             tmp.setReportId(dailyReportUploadDO.getId());
 | 
	
		
			
				|  |  |             if (tmp.isReportItemFlag()==true){//新则自建关联项目
 | 
	
		
			
				|  |  |                 List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 if (!createItemUser.contains(doctorId)){
 | 
	
		
			
				|  |  |                     throw new Exception("您无权创建自定义项目,请联系管理员");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 String title = tmp.getReportItemTitle();
 | 
	
		
			
				|  |  |                 BaseDailyReportItemDO reportItemDO = reportItemDao.findByTitleAndDeptAndProjectCode(title,doctorHospitalDOS.get(0).getDeptCode(),tmp.getProjectCode());
 | 
	
		
			
				|  |  |                 if (null!=reportItemDO){
 | 
	
		
			
				|  |  |                     BaseDailyReportItemMembersDO membersDOTmp = reportItemMembersDao.findMembers(reportItemDO.getId(),doctorId);
 | 
	
		
			
				|  |  |                     if (null==membersDOTmp){
 | 
	
		
			
				|  |  |                         membersDOTmp = new BaseDailyReportItemMembersDO();
 | 
	
		
			
				|  |  |                         membersDOTmp.setReportItemId(reportItemDO.getId());
 | 
	
		
			
				|  |  |                         membersDOTmp.setUserId(doctorId);
 | 
	
		
			
				|  |  |                         membersDOTmp.setUserName(doctorDO.getName());
 | 
	
		
			
				|  |  |                         membersDOTmp.setDel(1);
 | 
	
		
			
				|  |  |                         reportItemMembersDao.save(membersDOTmp);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                 if (null==reportItemDO){
 | 
	
		
			
				|  |  |                     reportItemDO = new BaseDailyReportItemDO();
 | 
	
		
			
				|  |  |                     reportItemDO.setState(0);
 | 
	
		
			
				|  |  |                     reportItemDO.setDel(1);
 | 
	
	
		
			
				|  | @ -403,12 +395,27 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                         reportItemDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     reportItemDO = reportItemDao.save(reportItemDO);
 | 
	
		
			
				|  |  |                     BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO();
 | 
	
		
			
				|  |  |                     membersDOTmp.setReportItemId(reportItemDO.getId());
 | 
	
		
			
				|  |  |                     membersDOTmp.setUserId(doctorId);
 | 
	
		
			
				|  |  |                     membersDOTmp.setUserName(doctorDO.getName());
 | 
	
		
			
				|  |  |                     membersDOTmp.setDel(1);
 | 
	
		
			
				|  |  |                     reportItemMembersDao.save(membersDOTmp);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 sql =  " select distinct doc.id,doc.name from base_doctor doc inner join base_doctor_hospital dh  " +
 | 
	
		
			
				|  |  |                         "on doc.id = dh.doctor_code and doc.del=1 and dh.del=1  " +
 | 
	
		
			
				|  |  |                         "where dh.dept_code='"+doctorHospitalDOS.get(0).getDeptCode()+"' ";
 | 
	
		
			
				|  |  |                 List<Map<String,Object>> membersList = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |                 for (Map<String,Object> member:membersList){
 | 
	
		
			
				|  |  |                     String docTmp = member.get("id").toString();
 | 
	
		
			
				|  |  |                     String docNameTmp = member.get("name").toString();
 | 
	
		
			
				|  |  |                     String reportItemId = reportItemDO.getId();
 | 
	
		
			
				|  |  |                     BaseDailyReportItemMembersDO membersDOTmp = reportItemMembersDao.findMembers(reportItemId,docTmp);
 | 
	
		
			
				|  |  |                     if (null==membersDOTmp){
 | 
	
		
			
				|  |  |                         membersDOTmp = new BaseDailyReportItemMembersDO();
 | 
	
		
			
				|  |  |                         membersDOTmp.setReportItemId(reportItemId);
 | 
	
		
			
				|  |  |                         membersDOTmp.setUserId(docTmp);
 | 
	
		
			
				|  |  |                         membersDOTmp.setUserName(docNameTmp);
 | 
	
		
			
				|  |  |                         membersDOTmp.setDel(1);
 | 
	
		
			
				|  |  |                         membersDOS.add(membersDOTmp);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if(membersDOS.size()>0){
 | 
	
		
			
				|  |  |                     reportItemMembersDao.save(membersDOS);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 tmp.setReportItemId(reportItemDO.getId());
 | 
	
		
			
				|  |  |                 tmp.setReportItemName(title);
 | 
	
	
		
			
				|  | @ -2257,7 +2264,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |             reportItemDO.setCompletionHour(completionHour);
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             //查询出关联的日报详情,计算完成时间
 | 
	
		
			
				|  |  |             sql = " select sum(IFNULL(actual_completion_hour,IFNULL(completion_hour,'0'))) from base_daily_report_detail " +
 | 
	
		
			
				|  |  |             sql = " select sum(cast(IFNULL(actual_completion_hour,IFNULL(completion_hour,0)) as decimal(18,2))) from base_daily_report_detail " +
 | 
	
		
			
				|  |  |                     " where report_item_id='"+item_id+"' ";
 | 
	
		
			
				|  |  |             String completionHoursql = jdbcTemplate.queryForObject(sql,String.class);
 | 
	
		
			
				|  |  |             reportItemDO.setCompletionHour(completionHoursql);
 | 
	
	
		
			
				|  | @ -2312,7 +2319,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select m.*,IFNULL(A.completion_hour,0) completion_hour,dh.dept_code,dh.dept_name from base_daily_report_item_members m " +
 | 
	
		
			
				|  |  |                 " INNER JOIN base_doctor doc on m.user_id = doc.id and doc.del=1  " +
 | 
	
		
			
				|  |  |                 "LEFT JOIN ( " +
 | 
	
		
			
				|  |  |                 "select up.doctor_id,SUM(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) completion_hour " +
 | 
	
		
			
				|  |  |                 "select up.doctor_id,sum(cast(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0)) as decimal(18,2))) completion_hour " +
 | 
	
		
			
				|  |  |                 " from base_doctor_daily_report_upload up " +
 | 
	
		
			
				|  |  |                 "INNER JOIN base_daily_report_detail rd on up.id = rd.report_id and rd.report_item_id='"+item_id+"' )A on m.user_id = A.doctor_id " +
 | 
	
		
			
				|  |  |                 "INNER JOIN base_doctor_hospital dh on m.user_id = dh.doctor_code and dh.del=1 " +
 | 
	
	
		
			
				|  | @ -2332,7 +2339,10 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<BaseDailyReportItemDO> itemDOS = new ArrayList<>();
 | 
	
		
			
				|  |  |         sql = " select i.* from base_daily_report_item i where 1=1 and i.del=1 ";
 | 
	
		
			
				|  |  |         sql = " select i.* from base_daily_report_item i inner join wlyy_hospital_sys_dict dict on i.project_code = dict.dict_code and dict.dict_name='daily_report_project' " +
 | 
	
		
			
				|  |  |                 " INNER JOIN ( select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_category' )B on dict.saas_id = B.dict_code  " +
 | 
	
		
			
				|  |  |                 "  INNER JOIN ( select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_level' )C on dict.py_code = C.dict_code " +
 | 
	
		
			
				|  |  |                 " where 1=1 and i.del=1 ";
 | 
	
		
			
				|  |  |         if(StringUtils.isNotBlank(projectCode)){
 | 
	
		
			
				|  |  |             sql += " and i.project_code='"+projectCode+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -2360,6 +2370,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(dept)){
 | 
	
		
			
				|  |  |             sql += " and i.dept='"+dept+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql += " order by B.sort asc, c.sort asc,dict.sort asc  ";
 | 
	
		
			
				|  |  |         itemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDailyReportItemDO.class));
 | 
	
		
			
				|  |  |         for (BaseDailyReportItemDO tmp:itemDOS){
 | 
	
		
			
				|  |  |             List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(tmp.getId());
 | 
	
	
		
			
				|  | @ -2372,7 +2383,10 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |      * 员工获取所有日报项目
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public List<BaseDailyReportItemDO> findReportItemList(String user,String projectCode,String title,String content,Integer state,String begin_time,String end_time,String createUser,String createUserName) throws Exception {
 | 
	
		
			
				|  |  |         String sql = "select i.* from base_daily_report_item i INNER JOIN base_daily_report_item_members mem on i.id = mem.report_item_id " +
 | 
	
		
			
				|  |  |         String sql = "select distinct i.* from base_daily_report_item i inner join wlyy_hospital_sys_dict dict on i.project_code = dict.dict_code and dict.dict_name='daily_report_project' " +
 | 
	
		
			
				|  |  |                 " INNER JOIN ( select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_category' )B on dict.saas_id = B.dict_code  " +
 | 
	
		
			
				|  |  |                 "  INNER JOIN ( select dict_code,dict_value,sort from wlyy_hospital_sys_dict where dict_name='daily_report_level' )C on dict.py_code = C.dict_code " +
 | 
	
		
			
				|  |  |                 " INNER JOIN base_daily_report_item_members mem on i.id = mem.report_item_id " +
 | 
	
		
			
				|  |  |                 "INNER JOIN base_doctor doc on mem.user_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                 "where i.del=1 and mem.del=1 and mem.user_id='"+user+"' " ;
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -2400,7 +2414,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(createUserName)){
 | 
	
		
			
				|  |  |             sql += " and i.create_user_name like '%"+createUserName+"%' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql += " GROUP BY i.id ";
 | 
	
		
			
				|  |  |         sql += " order by B.sort asc, c.sort asc,dict.sort asc  ";
 | 
	
		
			
				|  |  |         List<BaseDailyReportItemDO> itemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDailyReportItemDO.class));
 | 
	
		
			
				|  |  |         for (BaseDailyReportItemDO tmp:itemDOS){
 | 
	
		
			
				|  |  |             List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(tmp.getId());
 | 
	
	
		
			
				|  | @ -2417,7 +2431,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -2458,7 +2471,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sqlList = "  select dict.dict_code project_code,dict.dict_value projectName,IFNULL( A.completionHour,0) 'completionHour', " +
 | 
	
		
			
				|  |  |                 " IFNULL(A.doctorTotal,0) 'doctorTotal',B.dict_code 'categoryCode',B.dict_value 'categoryName',C.dict_code 'levelCode' ,C.dict_value 'levelName' from wlyy_hospital_sys_dict dict " +
 | 
	
		
			
				|  |  |                 " Left JOIN (" +
 | 
	
		
			
				|  |  |                 " select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour, " +
 | 
	
		
			
				|  |  |                 " select i.project_code,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 " +
 | 
	
		
			
				|  |  |                 " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                 "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1  where i.del=1 "+sqlCondition+" GROUP BY i.project_code )A " +
 | 
	
	
		
			
				|  | @ -2518,7 +2531,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -2556,7 +2568,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(member)){//查询指定员工
 | 
	
		
			
				|  |  |             sqlCondition += " and up.doctor_id='"+member+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sqlList = " select i.dept,i.dept_name deptName,i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour, " +
 | 
	
		
			
				|  |  |         String sqlList = " select i.dept,i.dept_name deptName,i.project_code,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 " +
 | 
	
		
			
				|  |  |                 " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                 "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1  where i.del=1 "+sqlCondition+" GROUP BY i.project_code,i.dept  ";
 | 
	
	
		
			
				|  | @ -2577,7 +2589,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -2620,7 +2631,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sqlCount = " select count(distinct i.id)  ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sqlCondition = " from base_daily_report_item i  LEFT JOIN( " +
 | 
	
		
			
				|  |  |                 " select de.report_item_id,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour, " +
 | 
	
		
			
				|  |  |                 " select de.report_item_id,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) as char ) as completionHour, " +
 | 
	
		
			
				|  |  |                 " count(distinct up.doctor_id) as doctorTotal " +
 | 
	
		
			
				|  |  |                 "  from base_daily_report_detail de Inner JOIN base_doctor_daily_report_upload up on up.id = de.report_id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                 "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2663,7 +2674,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -2700,7 +2710,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(1==type){//天
 | 
	
		
			
				|  |  |             sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
 | 
	
		
			
				|  |  |                     " 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', " +
 | 
	
		
			
				|  |  |                     " CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                     "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2708,7 +2718,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                     "group by i.id,DATE_FORMAT(de.create_time,'%Y-%m-%d') order by time asc ";
 | 
	
		
			
				|  |  |         }else if (2==type){//按周
 | 
	
		
			
				|  |  |             sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
 | 
	
		
			
				|  |  |                     " 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', " +
 | 
	
		
			
				|  |  |                     " CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                     "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2716,7 +2726,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                     "group by i.id,DATE_FORMAT(de.create_time,'%Y%v') order by time asc ";
 | 
	
		
			
				|  |  |         }else if (3==type){//月
 | 
	
		
			
				|  |  |             sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
 | 
	
		
			
				|  |  |                     " 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', " +
 | 
	
		
			
				|  |  |                     " CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                     "  INNER JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2786,7 +2796,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String memberSql = " ";
 | 
	
	
		
			
				|  | @ -2805,7 +2814,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String uploadTimeFormat = "";
 | 
	
		
			
				|  |  |         if(0==type){
 | 
	
		
			
				|  |  |             sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') 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((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'," +
 | 
	
		
			
				|  |  |                     " CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2816,7 +2825,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         else if(1==type){//天
 | 
	
		
			
				|  |  |             sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') 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((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', " +
 | 
	
		
			
				|  |  |                     " CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2826,7 +2835,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |             uploadTimeFormat=" DATE_FORMAT(up.report_date,'%Y-%m-%d') ";
 | 
	
		
			
				|  |  |         }else if (2==type){//按周
 | 
	
		
			
				|  |  |             sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') 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((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', " +
 | 
	
		
			
				|  |  |                     " CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2836,7 +2845,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |             uploadTimeFormat=" DATE_FORMAT(up.report_date,'%Y-%m-%d') ";
 | 
	
		
			
				|  |  |         }else if (3==type){//月
 | 
	
		
			
				|  |  |             sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') 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((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time', " +
 | 
	
		
			
				|  |  |                     " CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +updateTimeSql+
 | 
	
	
		
			
				|  | @ -2880,7 +2889,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                 Double completionHour = Double.valueOf(tmp.get("completionHour").toString());
 | 
	
		
			
				|  |  |                 tmp.put("timeRange",getRangeDouble(completionHour,totalHour));
 | 
	
		
			
				|  |  |                 String doctorId = tmp.get("doctor_id").toString();
 | 
	
		
			
				|  |  |                 sql = " select up.doctor_name,"+uploadTimeFormat+" as report_date ,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour " +
 | 
	
		
			
				|  |  |                 sql = " select up.doctor_name,"+uploadTimeFormat+" as report_date ,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) as char ) as completionHour " +
 | 
	
		
			
				|  |  |                         " from base_daily_report_detail de  INNER JOIN base_doctor_daily_report_upload up on de.report_id = up.id INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +updateTimeSql+
 | 
	
		
			
				|  |  |                         "where  de.report_item_id='"+item_id+"' and up.doctor_id='"+doctorId+"' " +
 | 
	
		
			
				|  |  |                         "GROUP BY "+searchTimeFormat+" ORDER BY report_date asc ";
 | 
	
	
		
			
				|  | @ -2905,7 +2914,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 timeUseList.sort(Comparator.comparing(obj -> obj.get("report_date").toString()));
 | 
	
		
			
				|  |  |                 timeUseList.sort(Comparator.comparing(obj ->((Map<String,Object>)obj).get("report_date").toString()).reversed());
 | 
	
		
			
				|  |  |                 tmp.put("timeUseList",timeUseList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -2923,7 +2932,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -2988,7 +2996,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String,Object>> deptProjectList = jdbcTemplate.queryForList(projectSql);
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |                 " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
 | 
	
		
			
				|  |  |                 " 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +
 | 
	
	
		
			
				|  | @ -3031,7 +3039,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -3096,7 +3103,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                 " GROUP BY i.id ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String,Object>> deptProjectItemList = jdbcTemplate.queryForList(projectSql);
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |                 " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
 | 
	
		
			
				|  |  |                 " 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1  " +
 | 
	
	
		
			
				|  | @ -3183,7 +3190,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -3238,7 +3244,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                 " where dict.dict_name='daily_report_project' and dh.dept_code='"+dept+"'  and mem.user_id='"+memberId+"' and mem.del=1 " +
 | 
	
		
			
				|  |  |                 " GROUP BY dict.dict_code; ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> deptProjectList = jdbcTemplate.queryForList(projectSql);
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |                 " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
 | 
	
		
			
				|  |  |                 " 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 INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
	
		
			
				|  | @ -3280,7 +3286,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -3334,7 +3339,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |                 " where  i.project_code='"+projectCode+"' and mem.user_id='"+memberId+"' and mem.del=1 and  dh.dept_code='"+dept+"' " +
 | 
	
		
			
				|  |  |                 "  GROUP BY i.id ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> deptProjectItemList = jdbcTemplate.queryForList(projectSql);
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |         String sqlList = "  select i.project_code,CAST((sum(cast(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')) as decimal(18,2)))) as char ) as completionHour,  " +
 | 
	
		
			
				|  |  |                 " count(distinct up.doctor_id) as doctorTotal, "+uploadTimeFormat+" as 'time' " +
 | 
	
		
			
				|  |  |                 " 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 " +
 | 
	
	
		
			
				|  | @ -3387,7 +3392,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -3520,7 +3524,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         urgingTotal = jdbcTemplate.queryForObject(urgingSql,Long.class);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String acWorkHoursSql = " select sum(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) 'completion_hour' " +
 | 
	
		
			
				|  |  |         String acWorkHoursSql = " select sum(cast(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0)) as decimal(18,2))) 'completion_hour' " +
 | 
	
		
			
				|  |  |                 " from base_doctor_daily_report_upload up  " +
 | 
	
		
			
				|  |  |                 "INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                 "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
 | 
	
	
		
			
				|  | @ -3564,7 +3568,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         result.put("acWorkHours",acWorkHours);//实际工作时长
 | 
	
		
			
				|  |  |         result.put("needWorkHours",needWorkHours);//应工作时长
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String doctorTypeSql = " select sum(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) 'completion_hour',count(distinct doc.id) as doctorTotal,IFNULL(dh.doctor_duty_name,'其他') as 'doctor_duty_name' " +
 | 
	
		
			
				|  |  |         String doctorTypeSql = " select sum(cast(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0)) as decimal(18,2))) 'completion_hour',count(distinct doc.id) as doctorTotal,IFNULL(dh.doctor_duty_name,'其他') as 'doctor_duty_name' " +
 | 
	
		
			
				|  |  |                 " from base_doctor_daily_report_upload up  " +
 | 
	
		
			
				|  |  |                 "INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                 "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
 | 
	
	
		
			
				|  | @ -3586,7 +3590,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -3626,7 +3629,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(endDate)){
 | 
	
		
			
				|  |  |             sqlWhere +=" and up.report_date<='"+endDate+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql = " select sum(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0))) 'completion_hour',rd.work_type_name " +
 | 
	
		
			
				|  |  |         sql = " select sum(cast(IFNULL(rd.actual_completion_hour,IFNULL(rd.completion_hour,0)) as decimal(18,2))) 'completion_hour',rd.work_type_name " +
 | 
	
		
			
				|  |  |                 " from base_doctor_daily_report_upload up INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
 | 
	
		
			
				|  |  |                 "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
 | 
	
		
			
				|  |  |                 "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id  where 1=1  " +
 | 
	
	
		
			
				|  | @ -3650,7 +3653,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -3751,6 +3753,40 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("success",result,page,pageSize,count);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 初始化项目成员
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String initItemMembers(){
 | 
	
		
			
				|  |  |         String sql = " select id,dept  from base_daily_report_item where del=1 ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
 | 
	
		
			
				|  |  |         for (Map<String,Object> tmp:list){
 | 
	
		
			
				|  |  |             sql =  " select distinct doc.id,doc.name from base_doctor doc inner join base_doctor_hospital dh  " +
 | 
	
		
			
				|  |  |                     "on doc.id = dh.doctor_code and doc.del=1 and dh.del=1  " +
 | 
	
		
			
				|  |  |                     "where dh.dept_code='"+tmp.get("dept").toString()+"' ";
 | 
	
		
			
				|  |  |             List<Map<String,Object>> membersList = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |             for (Map<String,Object> member:membersList){
 | 
	
		
			
				|  |  |                 String docTmp = member.get("id").toString();
 | 
	
		
			
				|  |  |                 String docNameTmp = member.get("name").toString();
 | 
	
		
			
				|  |  |                 String reportItemId = tmp.get("id").toString();
 | 
	
		
			
				|  |  |                 BaseDailyReportItemMembersDO membersDOTmp = reportItemMembersDao.findMembers(reportItemId,docTmp);
 | 
	
		
			
				|  |  |                 if (null==membersDOTmp){
 | 
	
		
			
				|  |  |                     membersDOTmp = new BaseDailyReportItemMembersDO();
 | 
	
		
			
				|  |  |                     membersDOTmp.setReportItemId(reportItemId);
 | 
	
		
			
				|  |  |                     membersDOTmp.setUserId(docTmp);
 | 
	
		
			
				|  |  |                     membersDOTmp.setUserName(docNameTmp);
 | 
	
		
			
				|  |  |                     membersDOTmp.setDel(1);
 | 
	
		
			
				|  |  |                     membersDOS.add(membersDOTmp);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(membersDOS.size()>0){
 | 
	
		
			
				|  |  |             reportItemMembersDao.save(membersDOS);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return "success";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 导出项目计划周报月报用时情况
 | 
	
		
			
				|  |  |      * @param user
 | 
	
	
		
			
				|  | @ -3766,7 +3802,6 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |         String startTime = "";
 | 
	
		
			
				|  |  |         String endTime = "";
 | 
	
		
			
				|  |  |         if (userRoles.size()==0){
 | 
	
		
			
				|  |  |             throw new Exception("您无权限操作");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String role_code = userRoles.get(0).get("role_code").toString();
 | 
	
		
			
				|  |  |             if ("admin".equals(role_code)){
 | 
	
	
		
			
				|  | @ -3788,7 +3823,7 @@ public class DailyReportUploadService {
 | 
	
		
			
				|  |  |             throw new Exception("导出失败,请检查传入参数");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //项目耗时情况
 | 
	
		
			
				|  |  |         sql = " select CONCAT(it.title,'(',it.dept_name,')') title,it.content,sum(IFNULL(pd.actual_completion_hour,IFNULL(pd.completion_hour,0))) 'completion_hour' ," +
 | 
	
		
			
				|  |  |         sql = " select CONCAT(it.title,'(',it.dept_name,')') title,it.content,sum(cast(IFNULL(pd.actual_completion_hour,IFNULL(pd.completion_hour,0)) as decimal(18,2))) 'completion_hour' ," +
 | 
	
		
			
				|  |  |                 " CASE it.state WHEN 1 THEN '已完成' ELSE '未完成' END as 'state',DATE_FORMAT(it.create_time,'%Y-%m-%d %H:%i:%S') create_time,it.create_user_name " +
 | 
	
		
			
				|  |  |                 "from base_daily_report_item it LEFT JOIN base_daily_report_detail pd  " +
 | 
	
		
			
				|  |  |                 "on it.id = pd.report_item_id " +
 |