| 
					
				 | 
			
			
				@ -2,9 +2,8 @@ package com.yihu.jw.dailyReport.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.dailyReport.dao.BaseDailyReportDetailDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.dailyReport.dao.BaseDailyReportLogDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.dailyReport.dao.BaseDailyReportUploadDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.dailyReport.dao.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorRoleDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -14,9 +13,7 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.wx.WxAccessTokenDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.wx.WxPushLogDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.wx.WxTemplateConfigDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.dailyReport.BaseDailyReportDetailDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.dailyReport.BaseDailyReportLogDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.dailyReport.BaseDailyReportUploadDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.dailyReport.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.healthUpload.BaseDoctorMemberDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.enterprise.WxEnterpriseUserDO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -41,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.data.domain.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.data.domain.PageRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -86,6 +84,10 @@ public class DailyReportUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String wechatId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private EnterpriseService enterpriseService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDailyReportItemDao reportItemDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDailyReportItemMembersDao reportItemMembersDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static Logger logger = LoggerFactory.getLogger(DailyReportUploadService.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -321,7 +323,7 @@ public class DailyReportUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseDailyReportUploadDO createDailyReport(String doctorId,String report_date,Integer leaveState,String leaveHour,String week_name,String totalHour, List<BaseDailyReportDetailDO> detailDOList) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseDailyReportUploadDO createDailyReport(String doctorId,String report_date,Integer leaveState,String leaveHour,String week_name,String totalHour, List<BaseDailyReportDetailDO> detailDOList,String reportItemId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = baseDoctorDao.findById(doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorHospitalDO> doctorHospitalDOS = baseDoctorHospitalDao.findByDoctorCode(doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==doctorDO){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -329,7 +331,7 @@ public class DailyReportUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (1==leaveState){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isNotBlank(leaveHour)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (Integer.parseInt(leaveHour)<8&&detailDOList.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (Double.parseDouble(leaveHour)<8&&detailDOList.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    throw new Exception("上传失败,请假未满8小时需要提交完成内容"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -346,6 +348,14 @@ public class DailyReportUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reportDetailDao.deleteByReportIdAndState(dailyReportUploadDO.getId(),0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(reportItemId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseDailyReportItemDO itemDO = reportItemDao.findOne(reportItemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null==itemDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new Exception("上传失败,关联日报项目不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dailyReportUploadDO.setReportItemId(reportItemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dailyReportUploadDO.setReportItemName(itemDO.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dailyReportUploadDO.setDoctorId(doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dailyReportUploadDO.setDoctorName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dailyReportUploadDO.setReportDate(report_date); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1585,4 +1595,263 @@ public class DailyReportUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /*************************************日报项目相关******************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增日报项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseDailyReportItemDO newReportItem(String user,String title,String content,String begin_time,String end_time,Integer member_type,String members) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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("您无权限操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = baseDoctorDao.findById(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==doctorDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("用户不存在无权操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDailyReportItemDO reportItemDO = new BaseDailyReportItemDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setState(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setTitle(title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setContent(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setBeginTime(begin_time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setEndTime(end_time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setCreateUser(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setCreateUserName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO = reportItemDao.save(reportItemDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (1==member_type){//指定成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> membersList = Arrays.asList(members.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String tmp:membersList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                membersDOTmp.setReportItemId(reportItemDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                membersDOTmp.setUserId(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                membersDOTmp.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                membersDOS.add(membersDOTmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if (2==member_type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> depts = Arrays.asList(members.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String dept:depts){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sql =  " select distinct doc.id 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='"+dept+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<String> membersList = jdbcTemplate.queryForList(sql,String.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (String tmp:membersList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    membersDOTmp.setReportItemId(reportItemDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    membersDOTmp.setUserId(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    membersDOTmp.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    membersDOS.add(membersDOTmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("系统异常,请稍后重试"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (membersDOS.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reportItemMembersDao.save(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setItemMembersDOList(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return reportItemDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 编辑日报项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseDailyReportItemDO modifyReportItem(String user,String item_id,String title,String content,Integer state,String begin_time,String end_time,String members) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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("您无权限操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = baseDoctorDao.findById(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==doctorDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("用户不存在无权操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==reportItemDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("日报项目不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (1==reportItemDO.getState()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("日报项目已完成无法修改"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setState(state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setTitle(title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setContent(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setBeginTime(begin_time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setEndTime(end_time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateUser(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateUserName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDao.save(reportItemDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemMembersDao.deleteAllByReportItemId(reportItemDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> membersList = Arrays.asList(members.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String tmp:membersList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            membersDOTmp.setReportItemId(reportItemDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            membersDOTmp.setUserId(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            membersDOTmp.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            membersDOS.add(membersDOTmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (membersDOS.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reportItemMembersDao.save(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setItemMembersDOList(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return reportItemDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *管理员完成日报项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseDailyReportItemDO completeReportItem(String user,String item_id,String completionUser,String completionHour,String completionTime) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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("您无权限操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = baseDoctorDao.findById(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==doctorDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("用户不存在无权操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==reportItemDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("日报项目不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setState(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(completionUser)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reportItemDO.setCompletionUser(completionUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(completionHour)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reportItemDO.setCompletionHour(completionHour); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(completionTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reportItemDO.setCompletionTime(DateUtil.strToDate(completionTime)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateUser(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateUserName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDao.save(reportItemDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(reportItemDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setItemMembersDOList(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return reportItemDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 管理员删除日报项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean delReportItem(String user,String item_id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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("您无权限操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO doctorDO = baseDoctorDao.findById(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==doctorDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("用户不存在无权操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==reportItemDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("日报项目不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setDel(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateUser(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateUserName(doctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDao.save(reportItemDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询日报项目详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseDailyReportItemDO  findReportItemById(String item_id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null==reportItemDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("日报项目不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(reportItemDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        reportItemDO.setItemMembersDOList(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return reportItemDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 管理员获取所有日报项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<BaseDailyReportItemDO> findReportItemListAdmin(String user,String title,String content,Integer state,String begin_time,String end_time,String createUser) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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("您无权限操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDailyReportItemDO> itemDOS = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " select i.* from base_daily_report_item i where 1=1 "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(title)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" and i.title like '%"+title+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(content)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" and i.content like '%"+content+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null!=state){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.state='"+state+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(begin_time)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.begin_time>='"+begin_time+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(end_time)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.end_time<='"+end_time+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(createUser)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.create_user='"+createUser+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        itemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDailyReportItemDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (BaseDailyReportItemDO tmp:itemDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(tmp.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            tmp.setItemMembersDOList(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return itemDOS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 员工获取所有日报项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<BaseDailyReportItemDO> findReportItemList(String user,String title,String content,Integer state,String begin_time,String end_time,String createUser) 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 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where i.del=1 and mem.del=1 and mem.user_id='"+user+"' " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(title)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" and i.title like '%"+title+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(content)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql +=" and i.content like '%"+content+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null!=state){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.state='"+state+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(begin_time)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.begin_time>='"+begin_time+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(end_time)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.end_time<='"+end_time+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(createUser)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql += " and i.create_user='"+createUser+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " GROUP BY i.id "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDailyReportItemDO> itemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDailyReportItemDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (BaseDailyReportItemDO tmp:itemDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(tmp.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            tmp.setItemMembersDOList(membersDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return itemDOS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |