| 
					
				 | 
			
			
				@ -3,6 +3,7 @@ package com.yihu.jw.hospital.service.consult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.dao.consult.WlyyPatientExpressageAddrDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.EntityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.StringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -35,35 +36,29 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增居民收货地址 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param jsonData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public WlyyPatientExpressageAddrDO createAddr(String jsonData, StringBuilder error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public WlyyPatientExpressageAddrDO createAddr(String jsonData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyPatientExpressageAddrDO addrDO = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!StringUtil.isEmpty(jsonData)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            addrDO = EntityUtils.jsonToEntity(jsonData, WlyyPatientExpressageAddrDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            error = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            error.append(e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(1 == addrDO.getIsDefault()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            boolean defaultAddrExist = patientExpressageAddrDao.existsByPatientAndIsDefault(addrDO.getPatient(),1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(defaultAddrExist){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(1 == addrDO.getIsDefault()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(addrDO.getPatient(),1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                WlyyPatientExpressageAddrDO defaultAddrDO = defaultAddrDOList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                defaultAddrDO.setIsDefault(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                this.save(defaultAddrDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(defaultAddrDOList != null && defaultAddrDOList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    WlyyPatientExpressageAddrDO olddefaultAddr = defaultAddrDOList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    olddefaultAddr.setIsDefault(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    this.save(olddefaultAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            this.save(addrDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        this.save(addrDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return addrDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public boolean hasDefault(String patient){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isEmpty(patient)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return patientExpressageAddrDao.existsByPatientAndIsDefault(patient,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -74,33 +69,22 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void setAddrDefault(String patient,String id,StringBuilder error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyPatientExpressageAddrDO addrDO = patientExpressageAddrDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(null == addrDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            error = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            error.append("当前地址不存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Object setAddrDefault(String patient,String id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuilder error = new StringBuilder("OK"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyPatientExpressageAddrDO newDefaultAddr = patientExpressageAddrDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(null == newDefaultAddr){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            error.replace(0,2,"当前地址不存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return error; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        boolean defaultAddrExist = patientExpressageAddrDao.existsByPatientAndIsDefault(patient,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(defaultAddrExist){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(patient,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(defaultAddrDOList != null && defaultAddrDOList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (WlyyPatientExpressageAddrDO wlyyPatientExpressageAddrDO:defaultAddrDOList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    wlyyPatientExpressageAddrDO.setIsDefault(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    this.save(wlyyPatientExpressageAddrDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                WlyyPatientExpressageAddrDO defaultAddrDO = defaultAddrDOList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                if(StringUtils.equals(addrDO.getId(),defaultAddrDO.getId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                defaultAddrDO.setIsDefault(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                addrDO.setIsDefault(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                this.save(addrDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(patient,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(defaultAddrDOList != null && defaultAddrDOList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WlyyPatientExpressageAddrDO oldDefaultAddr = defaultAddrDOList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            oldDefaultAddr.setIsDefault(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            this.save(oldDefaultAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            newDefaultAddr.setIsDefault(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            this.save(newDefaultAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return error; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |