| 
					
				 | 
			
			
				@ -0,0 +1,421 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.service.admin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.assistance.EmergencyAssistanceDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.message.UrgeReminderRecordDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.security.SecurityMonitoringOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.team.BaseTeamMemberDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.service.common.PermissionService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.util.MessageUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.vo.OrgVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.vo.UserVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.message.UrgeReminderRecordDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.securitymonitoring.SecurityMonitoringOrderDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.PageEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.common.IdCardUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.StringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by yeshijie on 2022/11/15. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class AdminManageService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JdbcTemplate jdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private MessageUtil messageUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private EmergencyAssistanceDao emergencyAssistanceDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SecurityMonitoringOrderDao securityMonitoringOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseTeamMemberDao baseTeamMemberDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PermissionService permissionService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDoctorDao doctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private UrgeReminderRecordDao urgeReminderRecordDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取紧急救助预警中的工单数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Integer getEmergencyAssistanceNum(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select count(id) from base_emergency_assistance_order where status =1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql,Integer.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 工单催促提醒 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 20紧急呼叫22安防工单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void orderUrgeReminder(String id,String orderType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        synchronized (id.intern()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            UrgeReminderRecordDO recordDO = urgeReminderRecordDao.findByTypeAndOrderId(orderType,id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(recordDO==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                recordDO = new UrgeReminderRecordDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                recordDO.setOrderId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                recordDO.setType(orderType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                urgeReminderRecordDao.save(recordDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String sender = permissionService.getUID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseDoctorDO baseDoctorDO = doctorDao.findById(sender); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String patient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String teamCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if("20".equals(orderType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    EmergencyAssistanceDO orderDO = emergencyAssistanceDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    patient = orderDO.getPatient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    name = orderDO.getPatientName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    teamCode = orderDO.getTeamCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    SecurityMonitoringOrderDO orderDO = securityMonitoringOrderDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    patient = orderDO.getPatient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    name = orderDO.getPatientName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    teamCode = orderDO.getTeamCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembersByLevel(teamCode,2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (BaseDoctorDO doctorDO:doctorDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String dingDingBody = doctorDO.getName()+"社工您好,"+name+"老人的紧急预警还未处理,管理员提醒您及时处理,请进入朝晖云照护应用查看。"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","2",dingDingBody,null,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    messageUtil.createToDoWorkReminder(doctorDO.getId(),baseDoctorDO.getId(),baseDoctorDO.getName(),id,orderType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //type   2社工 3助老员 4教师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //2. 社区医院3.  养老机构 4.  托育机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> getOrgList(String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("2".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql = "SELECT distinct t.name orgName,t.org_code orgCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " from base_team t,base_team_member tm" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  WHERE  t.id =tm.team_code and t.del=1 and tm.del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String filter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_older' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(listtmp.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                orgCodes = orgCodes.replaceAll(",","','"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filter = " and a.id not in ('"+orgCodes+"')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //2社工, 3教师,4助老员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql = "select code orgCode,name orgName from base_org a where a.del=1 and a.type="+type +filter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 管理端通讯录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * type 1照护老人 2社工 3助老员 4教师 5幼儿 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop getUserList(String type,String orgCode, String name, Integer page, Integer size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PageEnvelop envelop = new PageEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String limit = " limit "+(page-1)*size+","+size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        switch (type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case "1": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop = getOlderList(name, limit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case "2": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop = getSocialWorkerList(name,orgCode, limit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case "3": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop = getHelperList(name,orgCode, limit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case "4": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop = getTeacherList(name,orgCode, limit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            case "5": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                envelop = getChildList(name, limit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setPageSize(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setCurrPage(page); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop getOlderList(String name,String limit){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_older' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(listtmp.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgCodes = orgCodes.replaceAll(",","','"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filter = " and a.id not in ('"+orgCodes+"')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = findOld(name,null,limit,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = findOldTotal(name,null,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("查找成功",list,0,0,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> findOld(String name,String residentialArea,String limit,String filter1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT DISTINCT a.id,a.name,a.photo,a.idcard,CAST(IFNULL(a.birthday,'') AS char ) birthday,a.residential_area residentialArea,a.sex " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ",a.ykt_id yktId, case 1 WHEN openid is not null then 1 WHEN a.on_line = '1' then 1 ELSE 0 end as online,IFNULL(sign_status,0) signStatus from base_patient a " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " WHERE a.archive_type = 1 and a.del = '1'   "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=" and (a.sign_status=1 or (EXISTS (select 1 from wlyy_patient_device pd where pd.user = a.id and pd.del=0))) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(residentialArea)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and residential_area = '"+residentialArea+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += filter1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " GROUP BY a.id,a.name,a.photo,a.idcard,a.birthday,a.residential_area,a.sex,a.ykt_id,online,signStatus "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " ORDER BY online desc,a.ykt_id desc,signStatus desc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += limit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>>  list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String,Object> map:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String id = map.get("id")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String familySql = "select t2.id,t2.name,t2.sex,t2.mobile,t2.idcard,if(t2.openid is null,0,1) online,t2.photo,t1.family_relation " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_patient t2 left JOIN base_patient_family_member t1 on t1.family_member = t2.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "where t2.archive_type=3 and t2.del=1 and t1.patient='"+id+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("family",jdbcTemplate.queryForList(familySql)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Long findOldTotal(String name,String residentialArea,String filter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT count(DISTINCT a.id) from base_patient a  WHERE a.archive_type = 1 and a.del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=" and (a.sign_status=1 or (EXISTS (select 1 from wlyy_patient_device pd where pd.user = a.id and pd.del=0))) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(residentialArea)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and residential_area = '"+residentialArea+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += filter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop getSocialWorkerList(String name,String orgCode,String limit){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(orgCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filter = " and t.org_code = '"+orgCode+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(listtmp.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                orgCodes = orgCodes.replaceAll(",","','"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filter = " and t.org_code not in ('"+orgCodes+"')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<OrgVo> list = findSocialWorker(name,limit,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = findSocialWorkerTotal(name,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("查找成功",list,0,0,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<OrgVo> findSocialWorker(String name,String limit,String fileter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT a.id,a.name,a.photo,a.sex,IFNULL(a.on_line,0) online,a.mobile,t.name orgName,t.org_code orgCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " from base_doctor a,base_team t,base_team_member tm" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE a.id=tm.doctor_code and a.doctor_level = 2 and t.id =tm.team_code and t.del=1 and a.del = '1' and tm.del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and a.name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += fileter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " ORDER BY online desc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=limit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<UserVo> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(UserVo.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,List<UserVo>> userMap = list.stream().collect(Collectors.groupingBy(UserVo::getOrgCode)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,String> orgMap = list.stream().collect(Collectors.toMap(UserVo::getOrgCode, UserVo::getOrgName,(key1 , key2)-> key2 )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<OrgVo> orgVoList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String key:orgMap.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orgName = orgMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            OrgVo orgVo = new OrgVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setOrgName(orgName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setOrgCode(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<UserVo> temList = userMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setUserList(temList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVoList.add(orgVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return orgVoList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Long findSocialWorkerTotal(String name,String filter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT count(a.id) from base_doctor a,base_team t,base_team_member tm " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE a.id=tm.doctor_code and a.doctor_level = 2 and t.id =tm.team_code and t.del=1 and a.del = '1' and tm.del = '1'  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and a.name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += filter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop getHelperList(String name,String orgCode,String limit){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtil.isBlank(orgCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(listtmp.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                orgCodes = orgCodes.replaceAll(",","','"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filter = " and h.org_code not in ('"+orgCodes+"')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filter = " and h.org_code ='"+orgCode+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<OrgVo> list = findHelper(name,limit,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = findHelperTotal(name,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("查找成功",list,0,0,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<OrgVo> findHelper(String name,String limit,String fileter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT a.id,a.name,a.photo,a.sex,IFNULL(a.on_line,0) online,a.mobile,h.org_name orgName,h.org_code orgCode from base_doctor a,base_doctor_hospital h" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE a.id=h.doctor_code and a.doctor_level = 4 and a.del = '1' and h.del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and a.name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += fileter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " ORDER BY online desc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=limit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<UserVo> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(UserVo.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,List<UserVo>> userMap = list.stream().collect(Collectors.groupingBy(UserVo::getOrgCode)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,String> orgMap = list.stream().collect(Collectors.toMap(UserVo::getOrgCode, UserVo::getOrgName,(key1 , key2)-> key2 )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<OrgVo> orgVoList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String key:orgMap.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orgName = orgMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            OrgVo orgVo = new OrgVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setOrgName(orgName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setOrgCode(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<UserVo> temList = userMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setUserList(temList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVoList.add(orgVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return orgVoList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Long findHelperTotal(String name,String filter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT count(a.id) from base_doctor a,base_doctor_hospital h WHERE  a.id=h.doctor_code and a.doctor_level = 4 and a.del = '1' and h.del = '1'  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += filter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop getTeacherList(String name,String orgCode,String limit){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtil.isBlank(orgCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(listtmp.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                orgCodes = orgCodes.replaceAll(",","','"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filter = " and h.org_code not in ('"+orgCodes+"')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filter = " and h.org_code = '"+orgCode+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<OrgVo> list = findTeacherper(name,limit,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = findTeacherTotal(name,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("查找成功",list,0,0,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<OrgVo> findTeacherper(String name,String limit,String fileter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT a.id,a.name,a.photo,a.sex,IFNULL(a.on_line,0) online,a.mobile,h.org_name orgName,h.org_code orgCode from base_doctor a,base_doctor_hospital h" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  WHERE a.id=h.doctor_code and a.doctor_level = 3 and a.del = '1' and h.del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and a.name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += fileter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " ORDER BY online desc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=limit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<UserVo> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(UserVo.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,List<UserVo>> userMap = list.stream().collect(Collectors.groupingBy(UserVo::getOrgCode)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,String> orgMap = list.stream().collect(Collectors.toMap(UserVo::getOrgCode, UserVo::getOrgName,(key1 , key2)-> key2 )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<OrgVo> orgVoList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (String key:orgMap.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orgName = orgMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            OrgVo orgVo = new OrgVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setOrgName(orgName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setOrgCode(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<UserVo> temList = userMap.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVo.setUserList(temList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgVoList.add(orgVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return orgVoList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Long findTeacherTotal(String name,String filter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT count(a.id) from base_doctor a,base_doctor_hospital h WHERE  a.id=h.doctor_code and a.doctor_level = 3 and a.del = '1' and h.del = '1'  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += filter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop getChildList(String name,String limit){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(listtmp.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgCodes = orgCodes.replaceAll(",","','"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filter = " and id not in ('"+orgCodes+"')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = findChild(name,null,limit,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = findChildTotal(name,null,filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage("查找成功",list,0,0,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> findChild(String name,String residentialArea,String limit,String filter1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT id,name,photo,mobile,idcard,sex,birthday  from base_patient WHERE archive_type = 2 and del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(residentialArea)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and residential_area = '"+residentialArea+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += filter1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += " order by id desc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=limit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>>  list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String,Object> map:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String paientId = map.get("id").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String idcardNo = map.get("idcard") + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(map.get("birthday")!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Date birthday = DateUtil.strToDate(map.get("birthday").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer age = IdCardUtil.getAgeByIdcardOrBirthday(idcardNo,birthday); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("age",age); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer age = IdCardUtil.getAgeForIdcard(idcardNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                map.put("age",age); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Long findChildTotal(String name,String residentialArea,String filter){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT count(id) from base_patient WHERE archive_type = 2 and del = '1' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and name like '%"+name+"%' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isBlank(residentialArea)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+= " and residential_area = '"+residentialArea+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql += filter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |