Browse Source

资源搜索页面添加专家省份和专家认证作为搜索条件。

zzy.zhiyuan.foxmail 8 years ago
parent
commit
a0d8279467

+ 31 - 22
src/main/java/com/ekexiu/portal/dao/ResourceDao.java

@ -406,48 +406,49 @@ public abstract class ResourceDao {
406 406
	 * @return 按条件返回资源列表(包括资源所有者基本信息)
407 407
	 * @throws SQLException
408 408
	 */
409
	public PageQueryResult<Resource> queryPageRes(Connection con,String key,String subject,String industry,String address,int pageSize,int pageNo) throws SQLException{
409
	public PageQueryResult<Resource> queryPageRes(Connection con,String key,String subject,String industry,
410
			String province,String address,Integer authentication,int pageSize,int pageNo) throws SQLException{
410 411
        int _m_1 = 0;
411 412
        PageQueryResult<Resource> _result = new PageQueryResult<Resource>();
412 413
        int _m_3 = 1;
413 414
        boolean _m_2 = null == key;
414 415
        boolean _m_4 = null == subject;
415 416
        boolean _m_5 = null == industry;
417
        boolean _m5 = null == province;
416 418
        boolean _m6 = null == address;
419
        boolean _m7 = null == authentication;
417 420
        StringBuilder sql = new StringBuilder();
418
        boolean _m_7 = true;
419 421
        if(!_m_2){
420
            _m_7 =  false;
421 422
            sql.append(" WHERE ((RESOURCE_NAME LIKE ?) OR (SUPPORTED_SERVICES LIKE ?) "
422 423
            		+ " OR (RESOURCE.SUBJECT LIKE ?) OR (RESOURCE.INDUSTRY LIKE ?) "
423
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ? OR PROFESSOR.NAME LIKE ?))"
424
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR "
425
            		+ " WHERE PROFESSOR.PROVINCE LIKE ? OR PROFESSOR.ADDRESS LIKE ? OR PROFESSOR.NAME LIKE ?))"
424 426
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE ORG_ID "
425 427
            		+ " IN(SELECT ORGANIZATION.ID FROM ORGANIZATION WHERE ORGANIZATION.NAME LIKE ?) )) ) ");
426 428
        }
427 429
        if(!_m_4){
428
            if(_m_7){
429
                _m_7 =  false;
430
                sql.append(" WHERE (RESOURCE.SUBJECT LIKE ?) ");
431
            }else{
432
                sql.append(" AND (RESOURCE.SUBJECT LIKE ?) ");
433
            }
430
            sql.append(sql.length() > 0 ? " AND " : " WHERE ").append("(RESOURCE.SUBJECT LIKE ?)");
434 431
        }
435 432
        if(!_m_5){
436
            if(_m_7){
437
                _m_7 =  false;
438
                sql.append(" WHERE (RESOURCE.INDUSTRY LIKE ?) ");
439
            }else{
440
                sql.append(" AND (RESOURCE.INDUSTRY LIKE ?) ");
441
            }
433
            sql.append(sql.length() > 0 ? " AND " : " WHERE ").append("(RESOURCE.INDUSTRY LIKE ?)");
434
        }
435
        if(!_m5){
436
        	sql.append(sql.length() > 0 ? " AND " : " WHERE ").
437
        	append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.PROVINCE LIKE ?))");
442 438
        }
443 439
        if(!_m6){
444
        	if(_m_7){
445
        		_m_7 =  false;
446
        		sql.append(" WHERE (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?)) ");
447
        	}else{
448
        		sql.append(" AND (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?)) ");
449
        	}
440
        	sql.append(sql.length() > 0 ? " AND " : " WHERE ").
441
        	append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?))");
450 442
        }
443
        if(!_m7){
444
			if(0 == authentication){
445
				sql.append(sql.length() > 0 ? " AND " : " WHERE ").
446
				append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.AUTHENTICATION = '0'))");
447
			}else if(1 == authentication){
448
				sql.append(sql.length() > 0 ? " AND " : " WHERE ").
449
				append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.AUTHENTICATION = '1'))");
450
			}
451
		}
451 452
        StringBuilder _m_6 = sql;
452 453
        sql = new StringBuilder();
453 454
        sql.append(" SELECT COUNT(1) FROM RESOURCE ");
@ -464,6 +465,7 @@ public abstract class ResourceDao {
464 465
                ps.setString(_m_3++,key);
465 466
                ps.setString(_m_3++,key);
466 467
                ps.setString(_m_3++,key);
468
                ps.setString(_m_3++,key);
467 469
            }
468 470
            if(!_m_4){
469 471
                ps.setString(_m_3++,subject);
@ -471,6 +473,9 @@ public abstract class ResourceDao {
471 473
            if(!_m_5){
472 474
                ps.setString(_m_3++,industry);
473 475
            }
476
            if(!_m5){
477
            	ps.setString(_m_3++,province);
478
            }
474 479
            if(!_m6){
475 480
            	ps.setString(_m_3++,address);
476 481
            }
@ -533,6 +538,7 @@ public abstract class ResourceDao {
533 538
                ps.setString(_m_3++,key);
534 539
                ps.setString(_m_3++,key);
535 540
                ps.setString(_m_3++,key);
541
                ps.setString(_m_3++,key);
536 542
            }
537 543
            if(!_m_4){
538 544
                ps.setString(_m_3++,subject);
@ -540,6 +546,9 @@ public abstract class ResourceDao {
540 546
            if(!_m_5){
541 547
                ps.setString(_m_3++,industry);
542 548
            }
549
            if(!_m5){
550
            	ps.setString(_m_3++,province);
551
            }
543 552
            if(!_m6){
544 553
            	ps.setString(_m_3++,address);
545 554
            }

+ 7 - 2
src/main/java/com/ekexiu/portal/service/ResourceService.java

@ -165,11 +165,15 @@ public class ResourceService {
165 165
	
166 166
	@Get
167 167
	@Path("/pqRes")
168
	public PageQueryResult<Resource> queryPageRes(@JdbcConn(false) Connection con, @Nullable String key, @Nullable String subject, @Nullable String industry, @Nullable String address, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException {
168
	public PageQueryResult<Resource> queryPageRes(@JdbcConn(false) Connection con, @Nullable String key, 
169
			@Nullable String subject, @Nullable String industry, @Nullable String province, @Nullable String address, 
170
			@Nullable Integer authentication, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException {
169 171
		if(key!=null) key="%"+key+"%";
170 172
		if(subject!=null) subject ="%"+subject+"%";
171 173
		if(industry!=null)industry="%"+industry+"%";
172
		return this.resourceDao.queryPageRes(con, key, subject, industry, address, pageSize, pageNo);
174
		if(province!=null)province="%"+province+"%";
175
		if(address!=null)address="%"+address+"%";
176
		return this.resourceDao.queryPageRes(con, key, subject, industry, province, address, authentication, pageSize, pageNo);
173 177
	}
174 178
	
175 179
	@Get
@ -178,6 +182,7 @@ public class ResourceService {
178 182
		if(key!=null) key="%"+key+"%";
179 183
		if(subject!=null) subject ="%"+subject+"%";
180 184
		if(industry!=null)industry="%"+industry+"%";
185
		if(address!=null)address="%"+address+"%";
181 186
		return this.resourceDao.queryPage(con, key, subject, industry, address, pageSize, pageNo);
182 187
	}
183 188