|
@ -201,20 +201,22 @@ public class CurrentDayAllQuotaJob implements Job {
|
|
|
String quotaId="22";
|
|
|
try{
|
|
|
//查找Im库中的所有的医生ID
|
|
|
Map<String, String> consultIdMaps = getConsultIdsByIm();
|
|
|
List<String> consultIdMaps = getConsultIdsByIm();
|
|
|
StringBuffer sb=new StringBuffer("");
|
|
|
for(int i=0;i<consultIdMaps.size();i++){
|
|
|
sb.append(consultIdMaps.get(i));
|
|
|
if(i<(consultIdMaps.size()-1)){
|
|
|
sb.append(",");
|
|
|
}
|
|
|
}
|
|
|
//找出今天的咨询信息
|
|
|
String sql=" select admin_team_code,id,consult from wlyy_consult_team a where a.czrq>= '"+now+"'and a.czrq< '"+tomorrow+"'";
|
|
|
String sql=" select admin_team_code,id,consult from wlyy_consult_team a where a.czrq< '"+tomorrow+"' and a.consult in ("+sb.toString()+")";
|
|
|
//抽取數據
|
|
|
List<ConsultTeam> consultTeams= SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class,sql);
|
|
|
List<ConsultTeam> unReyconsultTeams = new ArrayList<>();
|
|
|
consultTeams.stream().forEach(ct -> {
|
|
|
//判断未回复的consultID是否存在
|
|
|
if(consultIdMaps.containsKey(ct.getConsult())){
|
|
|
unReyconsultTeams.add(ct);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
System.out.println("consultTeams num:"+consultTeams.size());
|
|
|
//過濾數據
|
|
|
FilterModel etlModels= consultDataFilter.filter(unReyconsultTeams,sql,null);
|
|
|
FilterModel etlModels= consultDataFilter.filter(consultTeams,sql,null);
|
|
|
//统计数据
|
|
|
List<Map<String, List<ETLModel>>> returnDatas= SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
|
|
|
//保存数据
|
|
@ -227,31 +229,37 @@ public class CurrentDayAllQuotaJob implements Job {
|
|
|
allContent.append("----------22-----------");
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 找出 im中的所有未回复的topic
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
public Map<String, String> getConsultIdsByIm() {
|
|
|
String sql = "SELECT t.id consultId" +
|
|
|
public List<String> getConsultIdsByIm() {
|
|
|
String sql = "SELECT DISTINCT t.id consultId " +
|
|
|
" FROM " +
|
|
|
" topics t, " +
|
|
|
" participants p, " +
|
|
|
" doctors d " +
|
|
|
" doctors d ," +
|
|
|
" sessions s " +
|
|
|
" WHERE " +
|
|
|
" p.participant_id = d.id " +
|
|
|
" AND t.session_id = p.session_id " +
|
|
|
" AND t.session_id = s.id " +
|
|
|
" AND s.type = 1 " +
|
|
|
" AND t.`reply`=0 " +
|
|
|
" AND t.create_time >='" + now +
|
|
|
"' AND t.create_time< '" + tomorrow + "'";
|
|
|
" AND t.create_time< '" + tomorrow + "'";
|
|
|
List<Map<String, Object>> ims = imjdbcTemplate.queryForList(sql);
|
|
|
//得到医生的id
|
|
|
Map<String, String> ids = new HashMap<>();
|
|
|
ims.parallelStream().forEach(map -> {
|
|
|
List<String> ids=new ArrayList<>();
|
|
|
ims.stream().forEach(map -> {
|
|
|
if (map.containsKey("consultId")) {
|
|
|
ids.put(String.valueOf(map.get("consultId")), String.valueOf(map.get("consultId")));
|
|
|
ids.add(String.valueOf("'"+map.get("consultId")+"'"));
|
|
|
}
|
|
|
});
|
|
|
System.out.println("22 ims 实时:" +ims.size());
|
|
|
System.out.println("22 实时sql:" +sql);
|
|
|
System.out.println("22 ids 实时:" +ids.size());
|
|
|
return ids;
|
|
|
}
|
|
|
private void computequota_21() {
|
|
@ -284,7 +292,7 @@ public class CurrentDayAllQuotaJob implements Job {
|
|
|
e.printStackTrace();
|
|
|
allContent.append("统计失败:"+e.getMessage());
|
|
|
}
|
|
|
allContent.append("-----------1----------");
|
|
|
allContent.append("-----------21----------");
|
|
|
}
|
|
|
|
|
|
private void computequota_20() {
|
|
@ -315,7 +323,7 @@ public class CurrentDayAllQuotaJob implements Job {
|
|
|
e.printStackTrace();
|
|
|
allContent.append("统计失败:"+e.getMessage());
|
|
|
}
|
|
|
allContent.append("-----------1----------");
|
|
|
allContent.append("-----------20----------");
|
|
|
}
|
|
|
|
|
|
private void initCurrentExpire() {
|