You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					91 lines
				
				3.2 KiB
			
		
		
			
		
	
	
					91 lines
				
				3.2 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								package com.ynxbd.common.service;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import com.ynxbd.common.bean.Doctor;
							 | 
						||
| 
								 | 
							
								import com.ynxbd.common.dao.RegisterDao;
							 | 
						||
| 
								 | 
							
								import org.apache.commons.lang3.ObjectUtils;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import java.util.ArrayList;
							 | 
						||
| 
								 | 
							
								import java.util.Comparator;
							 | 
						||
| 
								 | 
							
								import java.util.List;
							 | 
						||
| 
								 | 
							
								import java.util.stream.Collectors;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @Author wsq
							 | 
						||
| 
								 | 
							
								 * @Date 2021/7/9 14:48
							 | 
						||
| 
								 | 
							
								 * @Copyright @ 2020 云南新八达科技有限公司 All rights reserved.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								public class DoctorService {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 医生字段空字符串处理、排序
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public List<Doctor> doctorHandle(List<Doctor> doctorList) {
							 | 
						||
| 
								 | 
							
								        RegisterDao registerDao = new RegisterDao();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        List<Doctor> resultList = new ArrayList<>();
							 | 
						||
| 
								 | 
							
								        String title, customTitle; // 职称
							 | 
						||
| 
								 | 
							
								        String description; // 特长
							 | 
						||
| 
								 | 
							
								        Doctor dbDoctor; // 数据库中的医生
							 | 
						||
| 
								 | 
							
								        Boolean isDisabled;
							 | 
						||
| 
								 | 
							
								        for (Doctor doctorItem : doctorList) {
							 | 
						||
| 
								 | 
							
								            dbDoctor = registerDao.selectDoctorByCodeOrName(doctorItem.getDoctCode(), doctorItem.getDoctName());
							 | 
						||
| 
								 | 
							
								            if (dbDoctor != null) {
							 | 
						||
| 
								 | 
							
								                isDisabled = dbDoctor.getIsDisabled();
							 | 
						||
| 
								 | 
							
								                if ((isDisabled != null && isDisabled)) { // 禁用 | 移除
							 | 
						||
| 
								 | 
							
								                    continue;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                customTitle = dbDoctor.getCustomTitle();
							 | 
						||
| 
								 | 
							
								                if (!ObjectUtils.isEmpty(customTitle)) {
							 | 
						||
| 
								 | 
							
								                    doctorItem.setTitle(customTitle);
							 | 
						||
| 
								 | 
							
								                } else {
							 | 
						||
| 
								 | 
							
								                    title = dbDoctor.getTitle();
							 | 
						||
| 
								 | 
							
								                    if (!ObjectUtils.isEmpty(title)) {
							 | 
						||
| 
								 | 
							
								                        doctorItem.setTitle(title);
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                doctorItem.setSkill(dbDoctor.getSkill());
							 | 
						||
| 
								 | 
							
								                doctorItem.setHeadImg(dbDoctor.getHeadImg());
							 | 
						||
| 
								 | 
							
								                doctorItem.setPym(dbDoctor.getPym());
							 | 
						||
| 
								 | 
							
								                description = dbDoctor.getDescription();
							 | 
						||
| 
								 | 
							
								                if (description != null && !"".equals(description)) { // 医生特长以wx为主
							 | 
						||
| 
								 | 
							
								                    doctorItem.setDescription(description);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            title = doctorItem.getTitle();
							 | 
						||
| 
								 | 
							
								            if (title != null && title.length() > 2) {
							 | 
						||
| 
								 | 
							
								                title = title.substring(0, 2);
							 | 
						||
| 
								 | 
							
								                switch (title) {
							 | 
						||
| 
								 | 
							
								                    case "主任":
							 | 
						||
| 
								 | 
							
								                        doctorItem.setTitleCode("1");
							 | 
						||
| 
								 | 
							
								                        break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    case "副主":
							 | 
						||
| 
								 | 
							
								                        doctorItem.setTitleCode("2");
							 | 
						||
| 
								 | 
							
								                        break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    case "主治":
							 | 
						||
| 
								 | 
							
								                        doctorItem.setTitleCode("3");
							 | 
						||
| 
								 | 
							
								                        break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    case "住院":
							 | 
						||
| 
								 | 
							
								                        doctorItem.setTitleCode("4");
							 | 
						||
| 
								 | 
							
								                        break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    case "普通":
							 | 
						||
| 
								 | 
							
								                        doctorItem.setTitleCode("5");
							 | 
						||
| 
								 | 
							
								                        break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    default:
							 | 
						||
| 
								 | 
							
								                        doctorItem.setTitleCode("98");
							 | 
						||
| 
								 | 
							
								                        break;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                doctorItem.setTitleCode("99");
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            resultList.add(doctorItem);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return resultList.stream().sorted(Comparator.comparing(Doctor::getTitleCode)).collect(Collectors.toList());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |