| 
					
				 | 
			
			
				@ -6,7 +6,6 @@ import com.alibaba.fastjson.serializer.SimplePropertyPreFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.doctor.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.org.OrgTree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.org.OrgTreeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.org.tree.SimpleTree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.org.tree.SimpleTreeNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.org.tree.TreeNode; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -14,6 +13,7 @@ import com.yihu.jw.base.util.ConstantUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.util.JavaBeanUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.org.BaseOrgDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -25,7 +25,6 @@ import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.regex.Pattern; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 *  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -60,34 +59,40 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取医生信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orgId 医生所属机构id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctorId 医生id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getOneDoctorInfo(String orgId, String doctorId) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> resultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isEmpty(orgId) || StringUtils.isEmpty(doctorId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getOneDoctorInfo(String doctorId) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isEmpty(doctorId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("msg","parameter doctorId is null "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("response",ConstantUtils.FAIL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //医生基本信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorDO> doctors = this.findByField("id",doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(CollectionUtils.isEmpty(doctors)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("msg","doctor not exist for id:" + doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("response",ConstantUtils.FAIL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap = JavaBeanUtils.getInstance().bean2Map(doctors.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //医生执业信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] paramNames = {"hospCode","doctorCode"}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Object[] paramValue = {orgId,doctorId}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorHospitalDO> baseDoctorHospitalDOS = baseDoctorHospitalService.findByFields(paramNames,paramValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(CollectionUtils.isEmpty(baseDoctorHospitalDOS)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //医生归属业务模块角色信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] paramNames = {"doctorCode","del"}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Object[] paramValue = {doctorId,"1"}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorRoleDO> roleList = baseDoctorRoleService.findByFields(paramNames,paramValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(CollectionUtils.isEmpty(roleList)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("msg","doctor role not exist for id:" + doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("response",ConstantUtils.FAIL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> doctorHospMap = JavaBeanUtils.getInstance().bean2Map(baseDoctorHospitalDOS.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultMap.putAll(doctorHospMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonObject.put("doctor",doctors.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonObject.put("role",roleList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("response",ConstantUtils.SUCCESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("msg",jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -111,6 +116,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  tb.sex as sex,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  tb.mobile as mobile,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  GROUP_CONCAT(tb.org SEPARATOR ',') as orgInfo,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  tb.job_title_name as jobTitleName,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  tb.status as status " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "from  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  (  " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -120,7 +126,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     doc.idcard,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     case doc.sex when 1 then '男' when 2 then '女' else '未知' end as sex,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     doc.mobile,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     concat(hos.hosp_name,'/',dept.name,'/',hos.doctor_duty_name,'/',hos.job_title_name) as org,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     concat(hos.org_name,'/',dept.name,'/',hos.doctor_duty_name) as org,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     doc.job_title_name,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "     case doc.del when 0 then '无效' when 1 then '有效' end as status,  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "      doc.create_time  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "   from  " + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -132,9 +139,9 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    and  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    hos.dept_code = dept.code  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    and  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.idcard like '{idcard}' or ''= '{idcard}'  ) and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.idcard like '{idcard}' or ''= '{idcard}'  ) and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "      or  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.name like '{name}'  or ''= '{name}' )  and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.name like '{name}'  or ''= '{name}' )  and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "  ) tb  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "GROUP BY tb.id order by tb.create_time desc limit {start},{end} "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String finalSql = sql 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -156,9 +163,9 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    and " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    hos.dept_code = dept.code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    and " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.idcard like '{idcard}' or ''= '{idcard}' ) and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.idcard like '{idcard}' or ''= '{idcard}' ) and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "      or " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.name like '{name}' or ''= '{name}')  and (hos.hosp_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    ((doc.name like '{name}' or ''= '{name}')  and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}')) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String finalCountSql = countSql 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .replace("{idcard}",nameOrIdcardValue) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .replace("{name}",nameOrIdcardValue) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -359,12 +366,12 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(BaseDoctorHospitalDO one : list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            OrgTree orgTreeParent = new OrgTree(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeParent.setParentCode(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeParent.setCode(one.getHospCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeParent.setName(one.getHospName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeParent.setCode(one.getOrgCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeParent.setName(one.getOrgName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeList.add(orgTreeParent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            OrgTree orgTreeChild = new OrgTree(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeChild.setParentCode(one.getHospCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeChild.setParentCode(one.getOrgCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeChild.setCode(one.getDoctorDutyCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeChild.setName(one.getDoctorDutyName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgTreeList.add(orgTreeChild); 
			 |