|  | @ -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;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |