|  | @ -433,18 +433,15 @@ public class CourseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONObject getCourseByOrg(String lon2,String lat2){ //, int pageSize,int currentPage
 | 
	
		
			
				|  |  |         JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  |         String sql = "SELECT id,`name`,longitude,latitude FROM base.base_org where del = 1 and type = 4";
 | 
	
		
			
				|  |  |         List<Map<String , Object>> positionList = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         String sql = "SELECT id, code, `name`, mobile, photo, address, longitude, latitude, funDistance ( latitude, longitude, "+lat2+", "+lon2+" ) funDistance FROM base.base_org WHERE del = 1 and type = 4 ORDER BY funDistance DESC\n";
 | 
	
		
			
				|  |  |         List<Map<String , Object>> mapList = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list = new ArrayList<>();
 | 
	
		
			
				|  |  |         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 | 
	
		
			
				|  |  |         if (positionList.size() > 0){
 | 
	
		
			
				|  |  |             for (int i=0;i<positionList.size();i++){
 | 
	
		
			
				|  |  |                 String sql1 = "SELECT id,code,`name`,mobile,photo,address,longitude,latitude ,funDistance("+positionList.get(i).get("latitude")+","+positionList.get(i).get("longitude")+","+lat2+","+lon2+") funDistance FROM base.base_org where id = '"+positionList.get(i).get("id")+"'";
 | 
	
		
			
				|  |  |                 List<Map<String , Object>> mapList = jdbcTemplate.queryForList(sql1);
 | 
	
		
			
				|  |  | //                base_recruit_students
 | 
	
		
			
				|  |  |         if (mapList.size() > 0){
 | 
	
		
			
				|  |  |             for (int i=0;i<mapList.size();i++){
 | 
	
		
			
				|  |  |                 Integer allNum = 0;
 | 
	
		
			
				|  |  |                 String recruitId = "";
 | 
	
		
			
				|  |  |                 String orgCode = String.valueOf(mapList.get(0).get("code"));
 | 
	
		
			
				|  |  |                 String orgCode = String.valueOf(mapList.get(i).get("code"));
 | 
	
		
			
				|  |  |                 List<RecruitStudentsDO> recruitStudentsDOList = recruitStudentsDao.findByOrgCode(orgCode,new Date());
 | 
	
		
			
				|  |  |                 Integer num = 0;
 | 
	
		
			
				|  |  |                 // 判断该机构是否开放报名
 | 
	
	
		
			
				|  | @ -453,8 +450,8 @@ public class CourseService {
 | 
	
		
			
				|  |  |                     allNum = recruitStudentsDO.getNum();
 | 
	
		
			
				|  |  |                     recruitId = recruitStudentsDO.getId();
 | 
	
		
			
				|  |  |                     String sqlNum = "SELECT allm.id,allm.num - bbm.num num\n" +
 | 
	
		
			
				|  |  |                             "FROM (SELECT id,num FROM base_recruit_students WHERE org_code = '"+mapList.get(0).get("code")+"' AND del = 1 ) allm,(\n" +
 | 
	
		
			
				|  |  |                             "SELECT rs.id,COUNT(rsr.id) num FROM base_recruit_students rs,base_recruit_students_record rsr WHERE rsr.org_code =  '"+mapList.get(0).get("code")+"'\n" +
 | 
	
		
			
				|  |  |                             "FROM (SELECT id,num FROM base_recruit_students WHERE org_code = '"+mapList.get(i).get("code")+"' AND del = 1 ) allm,(\n" +
 | 
	
		
			
				|  |  |                             "SELECT rs.id,COUNT(rsr.id) num FROM base_recruit_students rs,base_recruit_students_record rsr WHERE rsr.org_code =  '"+mapList.get(i).get("code")+"'\n" +
 | 
	
		
			
				|  |  |                             " AND rs.id = rsr.recruit_students_id and rsr.recruit_students_id = '"+recruitId+"' AND rs.del = 1 AND rs.id = rsr.recruit_students_id AND rsr.status IN (2,3,6)) bbm";
 | 
	
		
			
				|  |  |                     List<Map<String,Object>> maps = jdbcTemplate.queryForList(sqlNum);
 | 
	
		
			
				|  |  |                     num = 0;
 | 
	
	
		
			
				|  | @ -468,35 +465,94 @@ public class CourseService {
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     num = -1; //未开放报名
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 String sqlCourse = "SELECT GROUP_CONCAT(DISTINCT `name` SEPARATOR '、') course FROM base_course WHERE org_code = '"+mapList.get(0).get("code")+"' AND del = 1";
 | 
	
		
			
				|  |  |                 String sqlCourse = "SELECT GROUP_CONCAT(DISTINCT `name` SEPARATOR '、') course FROM base_course WHERE org_code = '"+mapList.get(i).get("code")+"' AND del = 1";
 | 
	
		
			
				|  |  |                 String course = jdbcTemplate.queryForObject(sqlCourse,String.class);
 | 
	
		
			
				|  |  |                 JSONObject obj = new JSONObject();
 | 
	
		
			
				|  |  |                 obj.put("id",mapList.get(0).get("id"));
 | 
	
		
			
				|  |  |                 obj.put("orgCode",mapList.get(0).get("code"));
 | 
	
		
			
				|  |  |                 obj.put("name",mapList.get(0).get("name"));
 | 
	
		
			
				|  |  |                 obj.put("photo",mapList.get(0).get("photo"));
 | 
	
		
			
				|  |  |                 obj.put("address",mapList.get(0).get("address"));
 | 
	
		
			
				|  |  |                 obj.put("longitude",mapList.get(0).get("longitude"));
 | 
	
		
			
				|  |  |                 obj.put("latitude",mapList.get(0).get("latitude"));
 | 
	
		
			
				|  |  |                 obj.put("mobile",mapList.get(0).get("mobile"));
 | 
	
		
			
				|  |  |                 obj.put("funDistance",mapList.get(0).get("funDistance"));
 | 
	
		
			
				|  |  |                 obj.put("id",mapList.get(i).get("id"));
 | 
	
		
			
				|  |  |                 obj.put("orgCode",mapList.get(i).get("code"));
 | 
	
		
			
				|  |  |                 obj.put("name",mapList.get(i).get("name"));
 | 
	
		
			
				|  |  |                 obj.put("photo",mapList.get(i).get("photo"));
 | 
	
		
			
				|  |  |                 obj.put("address",mapList.get(i).get("address"));
 | 
	
		
			
				|  |  |                 obj.put("longitude",mapList.get(i).get("longitude"));
 | 
	
		
			
				|  |  |                 obj.put("latitude",mapList.get(i).get("latitude"));
 | 
	
		
			
				|  |  |                 obj.put("mobile",mapList.get(i).get("mobile"));
 | 
	
		
			
				|  |  |                 obj.put("funDistance",mapList.get(i).get("funDistance"));
 | 
	
		
			
				|  |  |                 obj.put("num",num);
 | 
	
		
			
				|  |  |                 obj.put("allNum",allNum);
 | 
	
		
			
				|  |  |                 obj.put("course",course);
 | 
	
		
			
				|  |  |                 list.add(obj);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (list.size() > 0){
 | 
	
		
			
				|  |  |                 Collections.sort(list, new Comparator<Map<String, Object>>() {
 | 
	
		
			
				|  |  |                     public int compare(Map<String, Object> o1, Map<String, Object> o2) {
 | 
	
		
			
				|  |  |                         return (Double) o1.get("funDistance") > (Double) o2.get("funDistance") ? 1 : ((Double) o1.get("funDistance") == (Double) o2.get("funDistance") ? 0 : -1);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 });
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             object.put("object",list);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return object;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //    public JSONObject getCourseByOrg(String lon2,String lat2){ //, int pageSize,int currentPage
 | 
	
		
			
				|  |  | //        JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  | //        String sql = "SELECT id,`name`,longitude,latitude FROM base.base_org where del = 1 and type = 4";
 | 
	
		
			
				|  |  | //        List<Map<String , Object>> positionList = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  | //        List<Map<String,Object>> list = new ArrayList<>();
 | 
	
		
			
				|  |  | //        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 | 
	
		
			
				|  |  | //        if (positionList.size() > 0){
 | 
	
		
			
				|  |  | //            for (int i=0;i<positionList.size();i++){
 | 
	
		
			
				|  |  | //                String sql1 = "SELECT id,code,`name`,mobile,photo,address,longitude,latitude ,funDistance("+positionList.get(i).get("latitude")+","+positionList.get(i).get("longitude")+","+lat2+","+lon2+") funDistance FROM base.base_org where id = '"+positionList.get(i).get("id")+"'";
 | 
	
		
			
				|  |  | //                List<Map<String , Object>> mapList = jdbcTemplate.queryForList(sql1);
 | 
	
		
			
				|  |  | ////                base_recruit_students
 | 
	
		
			
				|  |  | //                Integer allNum = 0;
 | 
	
		
			
				|  |  | //                String recruitId = "";
 | 
	
		
			
				|  |  | //                String orgCode = String.valueOf(mapList.get(0).get("code"));
 | 
	
		
			
				|  |  | //                List<RecruitStudentsDO> recruitStudentsDOList = recruitStudentsDao.findByOrgCode(orgCode,new Date());
 | 
	
		
			
				|  |  | //                Integer num = 0;
 | 
	
		
			
				|  |  | //                // 判断该机构是否开放报名
 | 
	
		
			
				|  |  | //                if (recruitStudentsDOList.size()>0){
 | 
	
		
			
				|  |  | //                    RecruitStudentsDO recruitStudentsDO = recruitStudentsDOList.get(0);
 | 
	
		
			
				|  |  | //                    allNum = recruitStudentsDO.getNum();
 | 
	
		
			
				|  |  | //                    recruitId = recruitStudentsDO.getId();
 | 
	
		
			
				|  |  | //                    String sqlNum = "SELECT allm.id,allm.num - bbm.num num\n" +
 | 
	
		
			
				|  |  | //                            "FROM (SELECT id,num FROM base_recruit_students WHERE org_code = '"+mapList.get(0).get("code")+"' AND del = 1 ) allm,(\n" +
 | 
	
		
			
				|  |  | //                            "SELECT rs.id,COUNT(rsr.id) num FROM base_recruit_students rs,base_recruit_students_record rsr WHERE rsr.org_code =  '"+mapList.get(0).get("code")+"'\n" +
 | 
	
		
			
				|  |  | //                            " AND rs.id = rsr.recruit_students_id and rsr.recruit_students_id = '"+recruitId+"' AND rs.del = 1 AND rs.id = rsr.recruit_students_id AND rsr.status IN (2,3,6)) bbm";
 | 
	
		
			
				|  |  | //                    List<Map<String,Object>> maps = jdbcTemplate.queryForList(sqlNum);
 | 
	
		
			
				|  |  | //                    num = 0;
 | 
	
		
			
				|  |  | //                    if (maps.size() > 0){
 | 
	
		
			
				|  |  | //                        for (int j =0 ; j < maps.size() ; j++){
 | 
	
		
			
				|  |  | //                            num = num + Integer.parseInt(String.valueOf(maps.get(j).get("num")));
 | 
	
		
			
				|  |  | //                        }
 | 
	
		
			
				|  |  | //                    }else {
 | 
	
		
			
				|  |  | //                        num = 0;
 | 
	
		
			
				|  |  | //                    }
 | 
	
		
			
				|  |  | //                } else {
 | 
	
		
			
				|  |  | //                    num = -1; //未开放报名
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  | //                String sqlCourse = "SELECT GROUP_CONCAT(DISTINCT `name` SEPARATOR '、') course FROM base_course WHERE org_code = '"+mapList.get(0).get("code")+"' AND del = 1";
 | 
	
		
			
				|  |  | //                String course = jdbcTemplate.queryForObject(sqlCourse,String.class);
 | 
	
		
			
				|  |  | //                JSONObject obj = new JSONObject();
 | 
	
		
			
				|  |  | //                obj.put("id",mapList.get(0).get("id"));
 | 
	
		
			
				|  |  | //                obj.put("orgCode",mapList.get(0).get("code"));
 | 
	
		
			
				|  |  | //                obj.put("name",mapList.get(0).get("name"));
 | 
	
		
			
				|  |  | //                obj.put("photo",mapList.get(0).get("photo"));
 | 
	
		
			
				|  |  | //                obj.put("address",mapList.get(0).get("address"));
 | 
	
		
			
				|  |  | //                obj.put("longitude",mapList.get(0).get("longitude"));
 | 
	
		
			
				|  |  | //                obj.put("latitude",mapList.get(0).get("latitude"));
 | 
	
		
			
				|  |  | //                obj.put("mobile",mapList.get(0).get("mobile"));
 | 
	
		
			
				|  |  | //                obj.put("funDistance",mapList.get(0).get("funDistance"));
 | 
	
		
			
				|  |  | //                obj.put("num",num);
 | 
	
		
			
				|  |  | //                obj.put("allNum",allNum);
 | 
	
		
			
				|  |  | //                obj.put("course",course);
 | 
	
		
			
				|  |  | //                list.add(obj);
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //            if (list.size() > 0){
 | 
	
		
			
				|  |  | //                Collections.sort(list, new Comparator<Map<String, Object>>() {
 | 
	
		
			
				|  |  | //                    public int compare(Map<String, Object> o1, Map<String, Object> o2) {
 | 
	
		
			
				|  |  | //                        return (Double) o1.get("funDistance") > (Double) o2.get("funDistance") ? 1 : ((Double) o1.get("funDistance") == (Double) o2.get("funDistance") ? 0 : -1);
 | 
	
		
			
				|  |  | //                    }
 | 
	
		
			
				|  |  | //                });
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //            object.put("object",list);
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | //        return object;
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONObject getCourseByteacher(String lon2,String lat2){ //, int pageSize,int currentPage
 | 
	
		
			
				|  |  |         JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  |         String sql = "SELECT id,`name`,longitude,latitude FROM base.base_org where del = 1 and type = 4";
 |