|  | @ -8,6 +8,8 @@ import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.util.ConstantUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.MixEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.hibernate.HibenateUtils;
 | 
	
		
			
				|  |  | import com.yihu.mysql.query.BaseJpaService;
 | 
	
		
			
				|  |  | import com.yihu.utils.security.MD5;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
	
		
			
				|  | @ -18,6 +20,7 @@ import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import javax.sound.sampled.Mixer;
 | 
	
		
			
				|  |  | import java.io.IOException;
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
	
		
			
				|  | @ -50,6 +53,8 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private JdbcTemplate jdbcTemplate;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private HibenateUtils hibenateUtils;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -81,7 +86,7 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
 | 
	
		
			
				|  |  |      * @param sorts
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> queryPatientBaseInfo(String nameOrIdcard,int page,int size,String sorts)throws Exception{
 | 
	
		
			
				|  |  |     public MixEnvelop queryPatientBaseInfo(String nameOrIdcard, int page, int size, String sorts)throws Exception{
 | 
	
		
			
				|  |  |         List<Map<String, Object>> result = new ArrayList<>();
 | 
	
		
			
				|  |  |         String param = null == nameOrIdcard ? "": nameOrIdcard;
 | 
	
		
			
				|  |  |         String sql = "SELECT\n" +
 | 
	
	
		
			
				|  | @ -96,23 +101,34 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
 | 
	
		
			
				|  |  |                 "ELSE\n" +
 | 
	
		
			
				|  |  |                 "\t'未知'\n" +
 | 
	
		
			
				|  |  |                 "END AS \"sex\",\n" +
 | 
	
		
			
				|  |  |                 " phone AS \"phone\",\n" +
 | 
	
		
			
				|  |  |                 " mobile AS \"phone\",\n" +
 | 
	
		
			
				|  |  |                 " committee_name AS \"committeeName\",\n" +
 | 
	
		
			
				|  |  |                 " province_name || city_name || town_name || street_name AS \"address\"\n" +
 | 
	
		
			
				|  |  |                 " province_name AS \"provinceName\"," +
 | 
	
		
			
				|  |  |                 " city_name AS \"cityName\", " +
 | 
	
		
			
				|  |  |                 "town_name AS \"townName\"," +
 | 
	
		
			
				|  |  |                 " street_name \"streetName\"," +
 | 
	
		
			
				|  |  |                 " address AS \"address\"\n" +
 | 
	
		
			
				|  |  |                 "FROM\n" +
 | 
	
		
			
				|  |  |                 "\tbase_patient\n" +
 | 
	
		
			
				|  |  |                 "WHERE\n" +
 | 
	
		
			
				|  |  |                 "\tNAME LIKE '%%'\n" +
 | 
	
		
			
				|  |  |                 "OR idcard LIKE '%%'\n" +
 | 
	
		
			
				|  |  |                 "ORDER BY\n" +
 | 
	
		
			
				|  |  |                 "\tbase_patient\n";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotEmpty(nameOrIdcard)){
 | 
	
		
			
				|  |  |             sql+="WHERE\n" +
 | 
	
		
			
				|  |  |                     "\tNAME LIKE '%"+nameOrIdcard+"%'\n" +
 | 
	
		
			
				|  |  |                     "OR idcard LIKE '%"+nameOrIdcard+"%'\n";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql+="ORDER BY\n" +
 | 
	
		
			
				|  |  |                 "\tcreate_time DESC";
 | 
	
		
			
				|  |  |         String countSql = "select count(id) from base_patient where name like '%" + param + "%' or idcard like '%" + param + "%'";
 | 
	
		
			
				|  |  |         Long count  = jdbcTemplate.queryForObject(countSql,Long.class);
 | 
	
		
			
				|  |  |         if(count <= 0){
 | 
	
		
			
				|  |  |             return result;
 | 
	
		
			
				|  |  |             return null;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         result = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |         MixEnvelop envelop = new MixEnvelop();
 | 
	
		
			
				|  |  |         result = hibenateUtils.createSQLQuery(sql,page,size);
 | 
	
		
			
				|  |  |         envelop.setDetailModelList(result);
 | 
	
		
			
				|  |  |         envelop.setTotalCount(count.intValue());
 | 
	
		
			
				|  |  |         envelop.setCurrPage(page);
 | 
	
		
			
				|  |  |         envelop.setPageSize(size);
 | 
	
		
			
				|  |  |         return envelop;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 |