|
@ -1253,12 +1253,12 @@ public class StatisticsEsService {
|
|
|
JSONObject object1 = new JSONObject();
|
|
|
if (flag == 1) {
|
|
|
sql = "SELECT dhd.CODE AS \"dept_code\", dhd. NAME AS \"dept_name\", CASE WHEN c. COUNT IS NOT NULL THEN " +
|
|
|
"c. COUNT ELSE 0 END AS \"COUNT\" FROM DICT_HOSPITAL_DEPT dhd " +
|
|
|
"c. COUNT ELSE 0 END AS \"COUNT\" FROM dict_hospital_dept dhd " +
|
|
|
"LEFT JOIN ( SELECT dh.DEPT_CODE as\"DEPT_CODE\", hd. NAME AS \"dept_name\", " +
|
|
|
"COUNT(dh.DOCTOR_CODE) AS \"COUNT\" FROM BASE_DOCTOR bd " +
|
|
|
"LEFT JOIN BASE_DOCTOR_HOSPITAL dh ON bd. ID = dh.DOCTOR_CODE " +
|
|
|
"RIGHT JOIN DICT_HOSPITAL_DEPT hd ON hd.CODE = dh.DEPT_CODE " +
|
|
|
"WHERE bd.DEL = 1 AND bd.job_title_code IN('1201','1301','1401','1101','066','067','061','1310','061','065') AND bd.OUTPATIENT_TYPE IS NOT NULL GROUP BY dh.DEPT_CODE, hd. NAME " +
|
|
|
"COUNT(dh.DOCTOR_CODE) AS \"COUNT\" FROM base_doctor bd " +
|
|
|
"LEFT JOIN base_doctor_hospital dh ON bd. ID = dh.DOCTOR_CODE " +
|
|
|
"RIGHT JOIN dict_hospital_dept hd ON hd.CODE = dh.DEPT_CODE " +
|
|
|
"WHERE bd.DEL = 1 AND bd.OUTPATIENT_TYPE IS NOT NULL GROUP BY dh.DEPT_CODE, hd. NAME " +
|
|
|
"ORDER BY COUNT DESC ) c ON dhd.CODE = c.DEPT_CODE " +
|
|
|
"WHERE dhd.CONSULT_DEPT_FLAG='1' " +
|
|
|
"ORDER BY count desc";
|
|
@ -1288,7 +1288,7 @@ public class StatisticsEsService {
|
|
|
|
|
|
} else if (flag == 2) {
|
|
|
List<SaveModel> saveModels = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, null, "6");
|
|
|
String deptSql = "select hd.CODE as \"code\",hd.NAME as \"name\" from DICT_HOSPITAL_DEPT hd where hd.ORG_CODE ='" + area + "' and hd.CONSULT_DEPT_FLAG=1";
|
|
|
String deptSql = "select hd.CODE as \"code\",hd.NAME as \"name\" from dict_hospital_dept hd where hd.ORG_CODE ='" + area + "' and hd.CONSULT_DEPT_FLAG=1";
|
|
|
List<Map<String, Object>> mapList = hibenateUtils.createSQLQuery(deptSql);
|
|
|
List<JSONObject> result = new ArrayList<>();
|
|
|
for (SaveModel saveModel : saveModels) {
|
|
@ -1358,12 +1358,12 @@ public class StatisticsEsService {
|
|
|
JSONObject object = new JSONObject();
|
|
|
if (flag == 1) {
|
|
|
String sql = "SELECT bd.JOB_TITLE_CODE as \"JOB_TITLE_CODE\", bd.JOB_TITLE_NAME as \"JOB_TITLE_NAME\", COUNT(bd.ID) as \"count\" FROM " +
|
|
|
"BASE_DOCTOR bd, BASE_DOCTOR_HOSPITAL bdh,DICT_HOSPITAL_DEPT dhd WHERE bd.ID = bdh.DOCTOR_CODE AND dhd.code = bdh.DEPT_CODE AND bd.DEL = 1 " +
|
|
|
" AND bdh.DEL = 1 AND bd.OUTPATIENT_TYPE IS NOT NULL AND bd.job_title_code IN('1201','1301','1401','1101','066','067','061','1310','061','065') ";
|
|
|
"base_doctor bd, base_doctor_hospital bdh,dict_hospital_dept dhd WHERE bd.ID = bdh.DOCTOR_CODE AND dhd.code = bdh.DEPT_CODE AND bd.DEL = 1 " +
|
|
|
" AND bdh.DEL = 1 AND bd.OUTPATIENT_TYPE IS NOT NULL ";
|
|
|
|
|
|
String sqlCount = "SELECT COUNT(bd.ID) as \"total\" FROM " +
|
|
|
"BASE_DOCTOR bd, BASE_DOCTOR_HOSPITAL bdh,DICT_HOSPITAL_DEPT dhd WHERE bd.ID = bdh.DOCTOR_CODE AND dhd.code = bdh.DEPT_CODE AND bd.DEL = 1 " +
|
|
|
" AND bdh.DEL = 1 AND bd.OUTPATIENT_TYPE IS NOT NULL AND dhd.CONSULT_DEPT_FLAG='1' AND bd.job_title_code IN('1201','1301','1401','1101','066','067','061','1310','061','065') ";
|
|
|
"base_doctor bd, base_doctor_hospital bdh,dict_hospital_dept dhd WHERE bd.ID = bdh.DOCTOR_CODE AND dhd.code = bdh.DEPT_CODE AND bd.DEL = 1 " +
|
|
|
" AND bdh.DEL = 1 AND bd.OUTPATIENT_TYPE IS NOT NULL AND dhd.CONSULT_DEPT_FLAG='1' ";
|
|
|
|
|
|
if (level == 4) {
|
|
|
sql += " AND dhd.ORG_CODE = '" + area + "'";
|
|
@ -1399,7 +1399,7 @@ public class StatisticsEsService {
|
|
|
buffer.deleteCharAt(buffer.length() - 1);
|
|
|
}
|
|
|
if (buffer.length() > 0) {
|
|
|
String sql = "SELECT bd.JOB_TITLE_CODE as \"JOB_TITLE_CODE\", bd.JOB_TITLE_NAME as \"JOB_TITLE_NAME\" ,COUNT(bd.ID) AS \"total\" FROM BASE_DOCTOR bd WHERE bd.DEL = 1";
|
|
|
String sql = "SELECT bd.JOB_TITLE_CODE as \"JOB_TITLE_CODE\", bd.JOB_TITLE_NAME as \"JOB_TITLE_NAME\" ,COUNT(bd.ID) AS \"total\" FROM base_doctor bd WHERE bd.DEL = 1";
|
|
|
sql += " AND bd.ID IN(" + buffer + ")";
|
|
|
sql += " GROUP BY bd.JOB_TITLE_CODE,bd.JOB_TITLE_NAME";
|
|
|
List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sql);//各职称人数
|
|
@ -1419,14 +1419,14 @@ public class StatisticsEsService {
|
|
|
if (flag == 1) {//开通医生
|
|
|
String sql = "SELECT bd.ID as\"ID\", bd.NAME as\"NAME\", bd.OUTPATIENT_TYPE as\"OUTPATIENT_TYPE\", " +
|
|
|
"dhd.code AS \"dept_code\", dhd.name AS \"dept_name\",bd.JOB_TITLE_NAME as\"JOB_TITLE_NAME\" FROM " +
|
|
|
"BASE_DOCTOR bd, BASE_DOCTOR_HOSPITAL bdh, " +
|
|
|
"DICT_HOSPITAL_DEPT dhd WHERE bd.ID = bdh.DOCTOR_CODE " +
|
|
|
"base_doctor bd, base_doctor_hospital bdh, " +
|
|
|
"dict_hospital_dept dhd WHERE bd.ID = bdh.DOCTOR_CODE " +
|
|
|
"AND dhd.code = bdh.DEPT_CODE " +
|
|
|
"AND bd.DEL = 1 " +
|
|
|
"AND bdh.DEL = 1 " +
|
|
|
"AND bd.OUTPATIENT_TYPE IS NOT NULL " +
|
|
|
" AND dhd.CONSULT_DEPT_FLAG='1' AND bd.job_title_code IN('1201','1301','1401','1101','066','067','061','1310','061','065','1','2','3','4')";
|
|
|
String deptSql = "select hd.CODE as \"CODE\",hd.NAME as \"NAME\" from DICT_HOSPITAL_DEPT hd where CONSULT_DEPT_FLAG=1";
|
|
|
" AND dhd.CONSULT_DEPT_FLAG='1' ";
|
|
|
String deptSql = "select hd.CODE as \"CODE\",hd.NAME as \"NAME\" from dict_hospital_dept hd where CONSULT_DEPT_FLAG=1";
|
|
|
if (level == 4) {//科室
|
|
|
sql += " AND dhd.ORG_CODE = '" + area + "'";
|
|
|
deptSql += " AND hd.ORG_CODE ='" + area + "'";
|
|
@ -1536,7 +1536,7 @@ public class StatisticsEsService {
|
|
|
//专科视频
|
|
|
List<SaveModel> specialistSPModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, "17", null, "6");
|
|
|
|
|
|
String deptSql = "select hd.CODE as \"CODE\",hd.NAME as \"NAME\" from DICT_HOSPITAL_DEPT hd where CONSULT_DEPT_FLAG=1";
|
|
|
String deptSql = "select hd.CODE as \"CODE\",hd.NAME as \"NAME\" from dict_hospital_dept hd where CONSULT_DEPT_FLAG=1";
|
|
|
if (level == 4) {//科室
|
|
|
deptSql += " AND hd.ORG_CODE ='" + area + "'";
|
|
|
} else if (level == 5) {//医生
|
|
@ -5694,7 +5694,7 @@ public class StatisticsEsService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONObject getArticleTotalHead(Integer flag, String startDate, String endDate, String area, int level) throws Exception {
|
|
|
public JSONObject getArticleTotalHead(Integer flag, String startDate, String endDate, String area, int level,String slaveKey1) throws Exception {
|
|
|
//发布量
|
|
|
SaveModel saveModel = null;
|
|
|
//发布量环比;
|
|
@ -5732,11 +5732,11 @@ public class StatisticsEsService {
|
|
|
String linkEndDate = DateUtil.getMonthDate(DateUtil.strToDateLong(endDate), -months);
|
|
|
JSONObject object = new JSONObject();
|
|
|
//发布量统计
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL);
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL,slaveKey1);
|
|
|
//发布量环比
|
|
|
saveModel1 = elasticsearchUtil.findOneDateQuotaLevel0(linkStartDate, linkEndDate, area, level, "75", SaveModel.timeLevel_ZL);
|
|
|
saveModel1 = elasticsearchUtil.findOneDateQuotaLevel1(linkStartDate, linkEndDate, area, level, "75", SaveModel.timeLevel_ZL,slaveKey1);
|
|
|
//发布量同比
|
|
|
saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(sameStartDate, sameEndDate, area, level, "75", SaveModel.timeLevel_ZL);
|
|
|
saveModel2 = elasticsearchUtil.findOneDateQuotaLevel1(sameStartDate, sameEndDate, area, level, "75", SaveModel.timeLevel_ZL,slaveKey1);
|
|
|
Integer publishTotal = saveModel != null ? saveModel.getResult1().intValue() : 0;
|
|
|
Integer publishLinkTotal = saveModel1 != null ? saveModel1.getResult1().intValue() : 0;
|
|
|
Integer publishSameTotal = saveModel2 != null ? saveModel2.getResult1().intValue() : 0;
|
|
@ -5744,11 +5744,11 @@ public class StatisticsEsService {
|
|
|
object.put("publishLink", getTwoRange(publishTotal - publishLinkTotal, publishLinkTotal, 0));//环比
|
|
|
object.put("publishSame", getTwoRange(publishTotal - publishSameTotal, publishSameTotal, 0));//同比
|
|
|
//收藏量统计
|
|
|
saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, null, "3");
|
|
|
saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, slaveKey1, "3");
|
|
|
//收藏量环比
|
|
|
saveModel4 = elasticsearchUtil.findOneDateQuotaLevel2(linkStartDate, linkEndDate, area, level, "76", SaveModel.timeLevel_ZL, null, "3");
|
|
|
saveModel4 = elasticsearchUtil.findOneDateQuotaLevel2(linkStartDate, linkEndDate, area, level, "76", SaveModel.timeLevel_ZL, slaveKey1, "3");
|
|
|
//收藏量同比
|
|
|
saveModel5 = elasticsearchUtil.findOneDateQuotaLevel1(sameStartDate, sameEndDate, area, level, "76", SaveModel.timeLevel_ZL, null, "3");
|
|
|
saveModel5 = elasticsearchUtil.findOneDateQuotaLevel1(sameStartDate, sameEndDate, area, level, "76", SaveModel.timeLevel_ZL, slaveKey1, "3");
|
|
|
Integer collectTotal = saveModel3 != null ? saveModel3.getResult1().intValue() : 0;
|
|
|
Integer collectLinkTotal = saveModel4 != null ? saveModel4.getResult1().intValue() : 0;
|
|
|
Integer collectSameTotal = saveModel5 != null ? saveModel5.getResult1().intValue() : 0;
|
|
@ -5756,11 +5756,11 @@ public class StatisticsEsService {
|
|
|
object.put("collectLink", getTwoRange(collectTotal - collectLinkTotal, collectLinkTotal, 0));//环比
|
|
|
object.put("collectSame", getTwoRange(collectTotal - collectSameTotal, collectSameTotal, 0));//同比
|
|
|
//浏览量统计
|
|
|
saveModel6 = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "77", SaveModel.timeLevel_ZL);
|
|
|
saveModel6 = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, "77", SaveModel.timeLevel_ZL,slaveKey1);
|
|
|
//浏览量环比
|
|
|
saveModel7 = elasticsearchUtil.findOneDateQuotaLevel0(linkStartDate, linkEndDate, area, level, "77", SaveModel.timeLevel_ZL);
|
|
|
saveModel7 = elasticsearchUtil.findOneDateQuotaLevel1(linkStartDate, linkEndDate, area, level, "77", SaveModel.timeLevel_ZL,slaveKey1);
|
|
|
//浏览量同比
|
|
|
saveModel8 = elasticsearchUtil.findOneDateQuotaLevel0(sameStartDate, sameEndDate, area, level, "77", SaveModel.timeLevel_ZL);
|
|
|
saveModel8 = elasticsearchUtil.findOneDateQuotaLevel1(sameStartDate, sameEndDate, area, level, "77", SaveModel.timeLevel_ZL,slaveKey1);
|
|
|
Integer browseTotal = saveModel6 != null ? saveModel6.getResult1().intValue() : 0;
|
|
|
Integer browseLinkTotal = saveModel7 != null ? saveModel7.getResult1().intValue() : 0;
|
|
|
Integer browseSameTotal = saveModel8 != null ? saveModel8.getResult1().intValue() : 0;
|
|
@ -5784,7 +5784,7 @@ public class StatisticsEsService {
|
|
|
* @param lowLevel 下一级区域等级 1 省 2 市 3 区县 4 机构 5团队
|
|
|
* @return
|
|
|
*/
|
|
|
public List<SaveModel> getArticlePublishList(Integer flag, String startDate, String endDate, int level, String area, String lowLevel) throws Exception {
|
|
|
public List<SaveModel> getArticlePublishList(Integer flag, String startDate, String endDate, int level, String area, String lowLevel,String slaveKey1) throws Exception {
|
|
|
if (flag == 1) {
|
|
|
startDate = DateUtil.getFirstMonthDay() + " 00:00:00";
|
|
|
endDate = DateUtil.getLastMonthDay() + " 23:59:59";
|
|
@ -5795,7 +5795,7 @@ public class StatisticsEsService {
|
|
|
startDate = DateUtil.getCurrentYearStartTime() + " 00:00:00";
|
|
|
endDate = DateUtil.getCurrentYearEndTime() + " 23:59:59";
|
|
|
}
|
|
|
List<SaveModel> saveModels = elasticsearchUtil.findListDateQuotaLevel0(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL, lowLevel);
|
|
|
List<SaveModel> saveModels = elasticsearchUtil.findListDateQuotaLevel1(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL, lowLevel,slaveKey1);
|
|
|
return saveModels;
|
|
|
}
|
|
|
|
|
@ -5847,9 +5847,9 @@ public class StatisticsEsService {
|
|
|
*/
|
|
|
public List<Map<String, Object>> selectArticleCountExcel(Integer flag, String startDate, String endDate, int level, String area, String lowLevel, String lowCode) throws Exception {
|
|
|
if (level == 4) {
|
|
|
List<Map<String, Object>> mapList = getArticleExcel(flag, startDate, endDate, level, area, "5", null);
|
|
|
List<Map<String, Object>> mapList = getArticleExcel(flag, startDate, endDate, level, area, "5", lowCode);
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
List<Map<String, Object>> maps = getArticleExcel(flag, startDate, endDate, 5, map.get("code").toString(), "6", null);
|
|
|
List<Map<String, Object>> maps = getArticleExcel(flag, startDate, endDate, 5, map.get("code").toString(), "6", lowCode);
|
|
|
map.put("doctors", maps);
|
|
|
}
|
|
|
return mapList;
|
|
@ -6049,7 +6049,7 @@ public class StatisticsEsService {
|
|
|
endDate = DateUtil.getCurrentYearEndTime() + " 23:59:59";
|
|
|
}
|
|
|
//文章发布数
|
|
|
SaveModel totalMap = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL);//总数
|
|
|
SaveModel totalMap = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL,lowCode);//总数
|
|
|
int total = 0;
|
|
|
if (totalMap != null) {
|
|
|
|