| 
					
				 | 
			
			
				@ -4,9 +4,15 @@ import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.serializer.SimplePropertyPreFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.dict.DictDoctorDutyDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.dict.DictHospitalDeptDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.dict.DictJobTitleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.doctor.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.dict.DictDoctorDutyService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.dict.DictHospitalDeptService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.doctor.BaseDoctorHospitalDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.org.BaseOrgDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.doctor.excelImport.BaseDoctorExcelDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				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; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -16,9 +22,13 @@ import com.yihu.jw.base.util.ConstantUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.util.JavaBeanUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.dict.DictDoctorDutyDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.dict.DictHospitalDeptDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.dict.DictJobTitleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.dict.DictDoctorDutyDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.dict.DictHospitalDeptDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				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.jw.exception.business.ManageException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -61,6 +71,16 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ObjectMapper objectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseOrgDao baseOrgDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DictHospitalDeptDao deptDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DictDoctorDutyDao dutyDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDoctorHospitalDao doctorHospitalDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DictJobTitleDao jobTitleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private OrgTreeService orgTreeService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -554,4 +574,85 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("msg",JavaBeanUtils.getInstance().mapListJson(list)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String, Object> batchInsertDoctor(List<BaseDoctorExcelDO> doctors) throws ManageException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> result = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //批量存储的集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        int correctCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        List<BaseDoctorExcelDO> corrects = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO baseDoctorDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //批量存储 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(BaseDoctorExcelDO one:doctors){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO = new BaseDoctorDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setName(one.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setDel(one.getDel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setSex(one.getSex()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setIdcard(one.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setMobile(one.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setIsFamous(one.getIsFamous()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setExpertise(one.getExpertise()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO.setIntroduce(one.getBrief()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(!StringUtils.isEmpty(one.getJobTitleName())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] job = one.getJobTitleName().split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String jobCode = job[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                DictJobTitleDO jobTitleDO = jobTitleDao.findByCode(jobCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorDO.setJobTitleCode(jobTitleDO.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorDO.setJobTitleName(jobTitleDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            baseDoctorDao.save(baseDoctorDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(!StringUtils.isEmpty(one.getHospitalInfo())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseOrgDO orgDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                DictHospitalDeptDO hospitalDeptDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                DictDoctorDutyDO doctorDutyDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] hospitals = one.getHospitalInfo().split(";"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<BaseDoctorHospitalDO> doctorHospitalList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(String hospital:hospitals){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] element = hospital.split("/"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] org = element[0].split(",");//机构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] dept = element[1].split(",");//部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] duty = element[2].split(",");//职务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String orgCode = org[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String deptCode = dept[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String dutyCode = duty[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    orgDO =baseOrgDao.findByCode(orgCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    hospitalDeptDO = deptDao.findByCode(deptCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorDutyDO = dutyDao.findByCode(dutyCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //医生执业信息实体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseDoctorHospitalDO doctorHospitalDO = new BaseDoctorHospitalDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalDO.setOrgCode(orgDO.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalDO.setOrgName(orgDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalDO.setDoctorCode(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalDO.setDeptCode(hospitalDeptDO.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalDO.setDoctorDutyCode(doctorDutyDO.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalDO.setDoctorDutyName(doctorDutyDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalDO.setDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorHospitalList.add(doctorHospitalDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                doctorHospitalDao.save(doctorHospitalList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(!StringUtils.isEmpty(one.getRoleInfo())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseDoctorRoleDO baseDoctorRoleDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    DictJobTitleDO dictJobTitleDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String[] roles = one.getRoleInfo().split(";"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<BaseDoctorRoleDO> baseDoctorRoleDOList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for(String role:roles){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String[] element = role.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String roleCode = element[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        dictJobTitleDO = jobTitleDao.findByCode(roleCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorRoleDO = new BaseDoctorRoleDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorRoleDO.setDoctorCode(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorRoleDO.setRoleModuleCode(dictJobTitleDO.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorRoleDO.setName(dictJobTitleDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorRoleDO.setDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorRoleDOList.add(baseDoctorRoleDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorRoleService.batchInsert(baseDoctorRoleDOList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("correctCount", doctors.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |