Jelajahi Sumber

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

yeshijie 3 tahun lalu
induk
melakukan
3b99147c02

+ 83 - 27
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/course/CourseService.java

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