为什么查询的字段值总是为0,科室数据库里面字段是有值的???求解

图片说明
这个是数据库查到的字段,可是把这段sql查询语句放到java程序里面就查询satisfactionz
字段的值总是为0,关键完全一样的查询语句啊,在线求解啊
下面是java代码:
@Override
@SuppressWarnings("unchecked")
public Map queryConsultTotalList(ConsultParamVo vo,
PageRequest pageRequest) {
String proCountSql = "select doctorid , isproblem,count(1) rn from jkmh_webcms.tcm_consult ";
String mydSqlString ="select doctorid ,nvl(sum(gradescore)/sum(isgrade),0) satis from jkmh_webcms.tcm_consult group by doctorid ";
String filterSql = "";

    if (StringUtils.isNoneBlank(vo.getStartDate())) {
        proCountSql += " and time >= to_date('" + vo.getStartDate()
                + " 00:00:00','yyyy-MM-dd HH24:mi:ss')";
    }

    if (StringUtils.isNotBlank(vo.getEndDate())) {
        proCountSql += " and time <= to_date('" + vo.getEndDate()
                + " 23:59:59','yyyy-MM-dd HH24:mi:ss')";
    }

    if (StringUtils.isNotBlank(vo.getOrgName())) {
        filterSql += " and t.org_name like '%" + vo.getOrgName() + "%'";
    }

    if (StringUtils.isNotBlank(vo.getName())) {
        filterSql += " and t.name like '%" + vo.getName() + "%'";
    }

    proCountSql += " group by doctorid, isproblem";

    String totalSql = "select t.id,t.org_name, t.dept_name, t.emp_no, t.name, t.sex, nvl(sum(t.consult), 0) consult, nvl(sum(t.reply), 0) reply,nvl(round(sum(t.satis)),0) satisfaction "
            + " from (select d.id, d.org_name, d.dept_name, d.emp_no, d.name, (case when d.sex = '1' then '男' else '女' end) sex, c1.rn consult, c2.rn reply , c3.satis satis"
            + " from jkmh_webcms.TB_DOCTOR_USERS d"
            + " left join ("
            + proCountSql
            + ") c1 on d.id = c1.doctorid and c1.isproblem = '0'"
            + " left join ("
            + proCountSql
            + ") c2 on d.id = c2.doctorid and c2.isproblem = '2'"
            + "left join("
            +mydSqlString
            + ") c3 on  d.id = c3.doctorid) t where 1 = 1";


    totalSql += filterSql;

    totalSql += " group by t.id, t.org_name, t.dept_name, t.emp_no, t.name, t.sex";

    String countSql = "select count(1) from (" + totalSql + ")";

    int num = (pageRequest.getPageNo() - 1) * pageRequest.getPageSize();
    List list = dao.createSQLQuery(totalSql, null, null, null)
            .setFirstResult(num).setMaxResults(pageRequest.getPageSize())
            .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
    int count = Integer.valueOf(dao
            .createSQLQuery(countSql, null, null, null).list().get(0)
            .toString());
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("rows", list);
    map.put("total", count);
    return map;
}

查询条件里面带有汉字(姓名字段),可能是因为代码的字符集和数据库的字符集不一致,
导致汉字传到数据库那边成乱码了,
查询条件不成立,故而查不到结果,统计就为0了