Browse Source

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

zzy.zhiyuan.foxmail 8 years ago
parent
commit
a0d8279467

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

406
	 * @return 按条件返回资源列表(包括资源所有者基本信息)
406
	 * @return 按条件返回资源列表(包括资源所有者基本信息)
407
	 * @throws SQLException
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
        int _m_1 = 0;
411
        int _m_1 = 0;
411
        PageQueryResult<Resource> _result = new PageQueryResult<Resource>();
412
        PageQueryResult<Resource> _result = new PageQueryResult<Resource>();
412
        int _m_3 = 1;
413
        int _m_3 = 1;
413
        boolean _m_2 = null == key;
414
        boolean _m_2 = null == key;
414
        boolean _m_4 = null == subject;
415
        boolean _m_4 = null == subject;
415
        boolean _m_5 = null == industry;
416
        boolean _m_5 = null == industry;
417
        boolean _m5 = null == province;
416
        boolean _m6 = null == address;
418
        boolean _m6 = null == address;
419
        boolean _m7 = null == authentication;
417
        StringBuilder sql = new StringBuilder();
420
        StringBuilder sql = new StringBuilder();
418
        boolean _m_7 = true;
419
        if(!_m_2){
421
        if(!_m_2){
420
            _m_7 =  false;
421
            sql.append(" WHERE ((RESOURCE_NAME LIKE ?) OR (SUPPORTED_SERVICES LIKE ?) "
422
            sql.append(" WHERE ((RESOURCE_NAME LIKE ?) OR (SUPPORTED_SERVICES LIKE ?) "
422
            		+ " OR (RESOURCE.SUBJECT LIKE ?) OR (RESOURCE.INDUSTRY LIKE ?) "
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
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE ORG_ID "
426
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE ORG_ID "
425
            		+ " IN(SELECT ORGANIZATION.ID FROM ORGANIZATION WHERE ORGANIZATION.NAME LIKE ?) )) ) ");
427
            		+ " IN(SELECT ORGANIZATION.ID FROM ORGANIZATION WHERE ORGANIZATION.NAME LIKE ?) )) ) ");
426
        }
428
        }
427
        if(!_m_4){
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
        if(!_m_5){
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
        if(!_m6){
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
        StringBuilder _m_6 = sql;
452
        StringBuilder _m_6 = sql;
452
        sql = new StringBuilder();
453
        sql = new StringBuilder();
453
        sql.append(" SELECT COUNT(1) FROM RESOURCE ");
454
        sql.append(" SELECT COUNT(1) FROM RESOURCE ");
464
                ps.setString(_m_3++,key);
465
                ps.setString(_m_3++,key);
465
                ps.setString(_m_3++,key);
466
                ps.setString(_m_3++,key);
466
                ps.setString(_m_3++,key);
467
                ps.setString(_m_3++,key);
468
                ps.setString(_m_3++,key);
467
            }
469
            }
468
            if(!_m_4){
470
            if(!_m_4){
469
                ps.setString(_m_3++,subject);
471
                ps.setString(_m_3++,subject);
471
            if(!_m_5){
473
            if(!_m_5){
472
                ps.setString(_m_3++,industry);
474
                ps.setString(_m_3++,industry);
473
            }
475
            }
476
            if(!_m5){
477
            	ps.setString(_m_3++,province);
478
            }
474
            if(!_m6){
479
            if(!_m6){
475
            	ps.setString(_m_3++,address);
480
            	ps.setString(_m_3++,address);
476
            }
481
            }
533
                ps.setString(_m_3++,key);
538
                ps.setString(_m_3++,key);
534
                ps.setString(_m_3++,key);
539
                ps.setString(_m_3++,key);
535
                ps.setString(_m_3++,key);
540
                ps.setString(_m_3++,key);
541
                ps.setString(_m_3++,key);
536
            }
542
            }
537
            if(!_m_4){
543
            if(!_m_4){
538
                ps.setString(_m_3++,subject);
544
                ps.setString(_m_3++,subject);
540
            if(!_m_5){
546
            if(!_m_5){
541
                ps.setString(_m_3++,industry);
547
                ps.setString(_m_3++,industry);
542
            }
548
            }
549
            if(!_m5){
550
            	ps.setString(_m_3++,province);
551
            }
543
            if(!_m6){
552
            if(!_m6){
544
            	ps.setString(_m_3++,address);
553
            	ps.setString(_m_3++,address);
545
            }
554
            }

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

165
	
165
	
166
	@Get
166
	@Get
167
	@Path("/pqRes")
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
		if(key!=null) key="%"+key+"%";
171
		if(key!=null) key="%"+key+"%";
170
		if(subject!=null) subject ="%"+subject+"%";
172
		if(subject!=null) subject ="%"+subject+"%";
171
		if(industry!=null)industry="%"+industry+"%";
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
	@Get
179
	@Get
178
		if(key!=null) key="%"+key+"%";
182
		if(key!=null) key="%"+key+"%";
179
		if(subject!=null) subject ="%"+subject+"%";
183
		if(subject!=null) subject ="%"+subject+"%";
180
		if(industry!=null)industry="%"+industry+"%";
184
		if(industry!=null)industry="%"+industry+"%";
185
		if(address!=null)address="%"+address+"%";
181
		return this.resourceDao.queryPage(con, key, subject, industry, address, pageSize, pageNo);
186
		return this.resourceDao.queryPage(con, key, subject, industry, address, pageSize, pageNo);
182
	}
187
	}
183
	
188