Ver código fonte

Merge branch 'dev' of chinawu123/wlyy2.0 into dev

liubing 2 anos atrás
pai
commit
6fa29f6e0e

+ 47 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -3149,7 +3149,7 @@ public class StatisticsService {
                        " WHERE p.archive_type = 2 and p.del = 1 "+nameSql+idcardSql+" <testUserSql>";
                break;
            case 3:
                sql =" SELECT p.id,p.name,CASE WHEN p.sex = 1 THEN '男' WHEN p.sex =2 THEN '女' END ,TIMESTAMPDIFF(YEAR, p.birthday, CURDATE()) as  age,p.idcard,p.mobile,p.address FROM base_patient p WHERE  p.del =1 AND p.register = 2"+nameSql+idcardSql;
                sql =" SELECT p.id as id,p.name,CASE WHEN p.sex = 1 THEN '男' WHEN p.sex =2 THEN '女' END ,TIMESTAMPDIFF(YEAR, p.birthday, CURDATE()) as  age,p.idcard,p.mobile,p.address FROM base_patient p WHERE  p.del =1 AND p.register = 2"+nameSql+idcardSql;
        }
@ -3163,11 +3163,56 @@ public class StatisticsService {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("data", list);
        jsonObject.put("userTotal", list.size());
        jsonObject.put("userTotal", findTendOldTotal(type,testUserSql,orgNameSql,orgNameSql2,nameSql,idcardSql));
        return jsonObject;
    }
    private Integer findTendOldTotal(Integer type,String testUserSql,String orgNameSql,String orgNameSql2,String nameSql,String idcardSql){
        String sql = "";
        switch (type) {
            case 1:
                sql = " SELECT count(DISTINCT p.id) as total FROM " +
                        " base_patient p,base_service_package_sign_record sr,base_service_package_record r,base_service_package_item i,base_service_package pack,base_team t,base_team_member tm,base_doctor d  " +
                        " WHERE " +
                        " sr.id = r.sign_id  " +
                        " AND sr.STATUS = 1  " +
                        " AND r.service_package_id = i.service_package_id  " +
                        " AND r.service_package_id = pack.id  " +
                        " AND i.del = 1  " +
                        " AND sr.`status` = 1  " +
                        " AND CONVERT ( sr.patient USING utf8 ) = p.id  " +
                        " AND r.team_code = t.id  " +
                        " AND tm.team_code = t.id " +
                        " AND p.archive_type = 1 " +nameSql+idcardSql+orgNameSql+
                        " AND d.id = tm.doctor_code <testUserSql>  " +
                        " GROUP BY p.idcard " +
                        " UNION " +
                        " SELECT " +
                        " count(DISTINCT p.id) as total " +
                        " FROM " +
                        " base_patient p INNER JOIN wlyy_patient_device d ON p.id = d.`user`  " +
                        " WHERE p.sign_status = 0 AND p.del = 1 AND d.del = 0 AND p.archive_type = 1 " + nameSql+idcardSql+orgNameSql2+
                        " <testUserSql>  " +
                        " GROUP BY p.idcard  ";
                break;
            case 2:
                sql =" SELECT count(DISTINCT p.id) as total " +
                        " FROM base_patient p  " +
                        " WHERE p.archive_type = 2 and p.del = 1 "+nameSql+idcardSql+" <testUserSql>";
                break;
            case 3:
                sql =" SELECT count(DISTINCT p.id) as total FROM base_patient p WHERE  p.del =1 AND p.register = 2"+nameSql+idcardSql;
        }
        sql = sql.replace("<testUserSql>",testUserSql);
        sql += "  ORDER BY id ";
        Integer integer  = jdbcTemplate.queryForObject(sql,Integer.class);
        return integer;
    }
    //对应的社区
    public List<Map<String, Object>> findOldOrg() {
        String sql = " SELECT t.`name`,t.id FROM base_team t WHERE t.org_code IN(SELECT code FROM base_org WHERE type = '3' AND `code`" +