| 
					
				 | 
			
			
				@ -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 " + 
			 |