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