| 
					
				 | 
			
			
				@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.dict.DictJobTitleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.doctor.BaseDoctorIncentiveDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.dict.DictDoctorDutyService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.doctor.excelImport.BaseDoctorExcelDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.org.OrgTree; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -15,32 +16,46 @@ import com.yihu.jw.dict.dao.DictHospitalDeptDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorRoleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.dict.BaseIncentiveDictDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				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.doctor.BaseDoctorDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorIncentiveDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.org.BaseOrgDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.exception.business.ManageException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.dict.BaseIncentiveDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.prescription.service.entrance.EntranceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.prescription.service.entrance.XzzxEntranceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.prescription.service.entrance.util.MqSdkUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.org.dao.BaseOrgDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.base.wx.WxGraphicMessageVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.base.wx.WxReplySceneVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.MixEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.common.IdCardUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.http.HttpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.hibernate.HibenateUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.utils.security.MD5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.security.core.parameters.P; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.EnableTransactionManagement; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.util.CollectionUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.sound.sampled.Mixer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.logging.Logger; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -104,6 +119,10 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private YkyyEntranceService ykyyEntranceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DoctorMappingDao doctorMappingDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDoctorIncentiveDao baseDoctorIncentiveDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseIncentiveDictDao baseIncentiveDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${wechat.flag}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private boolean flag; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -114,6 +133,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private HttpClientUtil httpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseDoctorRoleDao baseDoctorRoleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private HibenateUtils hibenateUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -397,6 +418,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject doctor = jsonObject.getJSONObject("doctor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray role = jsonObject.getJSONArray("role"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray hospital = jsonObject.getJSONArray("hospital"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String doctorMappingCode = jsonObject.getString("doctorMappingCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null == doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("msg", "医生信息不可为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("response", ConstantUtils.FAIL); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -405,6 +427,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //组装医生信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO baseDoctorDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO baseDoctorvo = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DoctorMappingDO doctorMappingDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorvo = objectMapper.readValue(doctor.toJSONString(), BaseDoctorDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorDO =  baseDoctorDao.findByIdcardAndDel(baseDoctorvo.getIdcard()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -433,18 +456,31 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    DoctorMappingDO doctorMappingDO =doctorMappingDao.findByDoctor(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO = doctorMappingDao.findByDoctor(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (null==doctorMappingDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO = new DoctorMappingDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO.setMappingCode(mappingCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO.setDoctor(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO.setDoctorName(baseDoctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO.setIdcard(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO.setOrgCode("350211A5010"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO.setOrgName("厦门大学附属心血管病医院"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDao.save(doctorMappingDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (!StringUtils.isEmpty(doctorMappingCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO = doctorMappingDao.findByIdcard(baseDoctorvo.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (doctorMappingDO==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        doctorMappingDO = new DoctorMappingDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO.setMappingCode(doctorMappingCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO.setDoctor(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO.setDoctorName(baseDoctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO.setIdcard(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    doctorMappingDO= doctorMappingDao.save(doctorMappingDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("msg", "convert doctor jsonObject to BaseDoctorDO failed," + e.getCause()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -485,6 +521,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!CollectionUtils.isEmpty(hospital)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseDoctorHospitalDO baseDoctorHospitalDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<BaseDoctorHospitalDO> hospitalDOList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orgCode = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String orgName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (Object object : hospital) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorHospitalDO = objectMapper.readValue(object.toString(), BaseDoctorHospitalDO.class); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -497,6 +535,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (null!=dictHospitalDeptDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        orgCode = baseDoctorHospitalDO.getOrgCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        orgName = baseDoctorHospitalDO.getOrgName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorHospitalDao.save(baseDoctorHospitalDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        try { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -508,6 +548,9 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                doctorMappingDO.setOrgCode(orgCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                doctorMappingDO.setOrgName(orgName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                doctorMappingDao.save(doctorMappingDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("msg", "convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                result.put("response", ConstantUtils.FAIL); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -536,7 +579,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = JSONObject.parseObject(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject doctor = jsonObject.getJSONObject("doctor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray role = jsonObject.getJSONArray("role"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray hospital = jsonObject.getJSONArray("hospital"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String doctorMappingCode = jsonObject.getString("doctorMappingCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray hospital = jsonObject.getJSONArray("hospital"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(null == doctor){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("msg","parameter doctor of jsonData is null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            result.put("response", ConstantUtils.FAIL); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -570,6 +614,19 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return result.toJSONString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        this.save(baseDoctorDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DoctorMappingDO doctorMappingDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!StringUtils.isEmpty(doctorMappingCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMappingDO = doctorMappingDao.findByIdcard(baseDoctorDO.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (doctorMappingDO==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                doctorMappingDO = new DoctorMappingDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMappingDO.setMappingCode(doctorMappingCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMappingDO.setDoctor(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMappingDO.setDoctorName(baseDoctorDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMappingDO.setIdcard(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMappingDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMappingDO= doctorMappingDao.save(doctorMappingDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //修改医生角色关联关系,医生默认可以没有角色,前端不修改就不做任何操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!CollectionUtils.isEmpty(role)){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -603,6 +660,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(!CollectionUtils.isEmpty(hospital)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BaseDoctorHospitalDO baseDoctorHospitalDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Set<Object> hospitalIdList = baseDoctorHospitalService.findDocHospIdList(baseDoctorDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String orgCode = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String orgName=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for(Object object : hospital){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     baseDoctorHospitalDO = objectMapper.readValue(object.toString(),BaseDoctorHospitalDO.class); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -615,8 +674,13 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (dictHospitalDeptDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     orgCode = baseDoctorHospitalDO.getOrgCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     orgName = baseDoctorHospitalDO.getOrgName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     baseDoctorHospitalService.save(baseDoctorHospitalDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 doctorMappingDO.setOrgCode(orgCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 doctorMappingDO.setOrgName(orgName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 doctorMappingDao.save(doctorMappingDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.put("msg","convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result.put("response",ConstantUtils.FAIL); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -925,5 +989,179 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("correctCount", doctors.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map saveIncentive(String doctor,String incentiveIds){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorIncentiveDO> list = baseDoctorIncentiveDao.findByDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map map = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String name = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (baseDoctorDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            name = baseDoctorDO.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status",-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg","获取医生信息失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (incentiveIds.contains(",")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] incentiveId = incentiveIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (int i= 0;i<incentiveId.length;i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveId[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (list!=null&&list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (int j= 0;j<list.size();j++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            list.get(j).setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDao.save(list.get(j)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            list.remove(j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setDoctorName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDao.save(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (BaseDoctorIncentiveDO baseDoctorIncentiveDO:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorIncentiveDO.setIsDel("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseDoctorIncentiveDao.save(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setDoctorName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDao.save(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status",200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg","操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (baseIncentiveDictDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setDoctorName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDao.save(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status",200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg","操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map saveDoctorIncentive(String doctor,String incentiveIds) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorIncentiveDO> list = baseDoctorIncentiveDao.findByDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorIncentiveDO> saveList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map map = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String name = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (baseDoctorDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            name = baseDoctorDO.getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status",-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg","获取医生信息失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (incentiveIds.contains(",")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] incentiveId = incentiveIds.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (int i= 0;i<incentiveId.length;i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveId[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (list!=null&&list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (int j= 0;j<list.size();j++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])&&"1".equalsIgnoreCase(list.get(j).getIsDel())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            throw new Exception("该激励已经保存过"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])&&"0".equalsIgnoreCase(list.get(j).getIsDel())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            list.get(j).setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            saveList.add(list.get(j)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setDoctorName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            saveList.add(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setDoctorName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    saveList.add(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorIncentiveDao.save(saveList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status",200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg","操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (baseIncentiveDictDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIsDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setDoctorCode(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setDoctorName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                baseDoctorIncentiveDao.save(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("status",200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("msg","操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop removeDoctorIncentive(String doctor, String incentiveId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Envelop envelop = new Envelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseDoctorIncentiveDO baseDoctorIncentiveDO = baseDoctorIncentiveDao.findByDoctorCodeAndIncentiveIdAndIsDel(doctor,incentiveId,"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (baseDoctorIncentiveDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorIncentiveDO.setIsDel("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            baseDoctorIncentiveDao.save(baseDoctorIncentiveDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            envelop.setStatus(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            envelop.setMessage("删除成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            envelop.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            envelop.setMessage("删除失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop findIncentiveByDoctor(String doctorId, Integer page, Integer pageSize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MixEnvelop mixEnvelop = new MixEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorIncentiveDO> list = baseDoctorIncentiveDao.findByDoctorCodeList(doctorId,creatPage(page,pageSize,"")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseDoctorIncentiveDO> listCount = baseDoctorIncentiveDao.findByDoctorCodeListCount(doctorId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mixEnvelop.setPageSize(pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mixEnvelop.setCurrPage(page); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mixEnvelop.setTotalCount(listCount==null?0:listCount.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mixEnvelop.setDetailModelList(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return mixEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> findIncentiveDict(String doctorCode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select b.id as \"id\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "b.incentive_name as \"incentiveName\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "b.incentive_img as \"incentiveImg\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "b.incentive_status as \"incentiveStatus\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "b.is_del as \"isDel\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "b.incentive_code as \"incentiveCode\"," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "b.create_time as \"createTime\"" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "from base_incentive_dict b left join base_doctor_incentive d" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " on b.id = d.incentive_id where is_del = '1'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!StringUtils.isEmpty(doctorCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and d.doctor_code!='"+doctorCode+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=" group by  b.id,b.incentive_img,b.incentive_name" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "b.incentive_status ,b.is_del, b.incentive_code,b.create_time"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |