| 
					
				 | 
			
			
				@ -2,19 +2,25 @@ package com.yihu.jw.care.service.message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.serializer.SerializerFeature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.apply.PatientBedApplyDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.message.OrgNoticeDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.message.UserNoticeDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.security.SecurityMonitoringOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.notice.UserNoticeDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.message.OrgNoticeDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.ResponseContant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.PageEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.entity.EntityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.persistence.criteria.CriteriaBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Comparator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -35,6 +41,10 @@ public class DoctorMessageService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PatientBedApplyDao patientBedApplyDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SecurityMonitoringOrderDao securityMonitoringOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private OrgNoticeDao orgNoticeDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private UserNoticeDao userNoticeDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -150,7 +160,7 @@ public class DoctorMessageService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "base_team_member m where ord.patient = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "r.service_package_id = i.service_package_id and  m.team_code = i.team_code  and i.del = 1 and sr.`status`=1  and i.code='preventLost' \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "and m.doctor_code = '13' and m.del = '1') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "and m.doctor_code = '"+doctor+"' and m.del = '1') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> sqlResult  = jdbcTemplate.queryForList(sql); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -177,7 +187,7 @@ public class DoctorMessageService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "base_team_member m where ord.patient = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "r.service_package_id = i.service_package_id and  m.team_code = i.team_code  and i.del = 1 and sr.`status`=1  and i.code='emergencyAssistance' \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "and m.doctor_code = '13' and m.del = '1')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        "and m.doctor_code = '"+doctor+"' and m.del = '1')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> sqlResult  = jdbcTemplate.queryForList(sql); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -211,4 +221,61 @@ public class DoctorMessageService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject newOrgNotice(String jsonDate, String[] patients){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        OrgNoticeDO orgNoticeDO = new OrgNoticeDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgNoticeDO  = EntityUtils.jsonToEntity(jsonDate, OrgNoticeDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put(ResponseContant.resultFlag, ResponseContant.fail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String failMsg = "参数转换成JSON对象异常:" + e.getMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put(ResponseContant.resultMsg, failMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        orgNoticeDao.save(orgNoticeDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(String user:patients){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            UserNoticeDO userNoticeDO = new UserNoticeDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            userNoticeDO.setUserId(user); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            userNoticeDO.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            userNoticeDO.setIsRead(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            userNoticeDO.setNoticeId(orgNoticeDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            userNoticeDao.save(userNoticeDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put(ResponseContant.resultFlag, ResponseContant.success); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject Msg = JSONObject.parseObject(JSON.toJSONStringWithDateFormat(orgNoticeDO,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put(ResponseContant.resultMsg, Msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop getOrgNoticeList(String orgCode,String createUser,String beginTime,String endTime,int page,int size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        page = page>0?page-1:0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlCount = "select count(id) from base_org_notice where del=1 "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select id,title,org_code orgCode,org_name orgName,DATE_FORMAT(notice_time,'%Y-%m-%d %H:%i:%S') noticeTime,content,img from base_org_notice where del=1 "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlCondition =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(orgCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCondition += " and org_code = '"+orgCode+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(createUser)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCondition += " and create_user = '"+createUser+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(beginTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCondition += " and notice_time >= '"+beginTime+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(endTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCondition += " and notice_time <= '"+endTime+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(beginTime)&&StringUtils.isBlank(endTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String time = DateUtil.getStringDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCondition += " and notice_time <= '"+time+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = jdbcTemplate.queryForObject(sqlCount+sqlCondition,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sqlCondition += " order by notice_time desc limit "+page*size+","+size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql+sqlCondition); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public OrgNoticeDO orgNoticeDetail(String noticeId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return orgNoticeDao.findOne(noticeId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |