Преглед изворни кода

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

zd_123 пре 7 година
родитељ
комит
2bfa3aabfb

+ 26 - 13
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/config/DataSourceConfig.java

@ -21,29 +21,35 @@ public class DataSourceConfig {
    @Value("${spring.datasource.driverClassName}")
    private String driverClassName;
    @Value("${spring.datasource.initialSize}")
    private int initialSize;
    private Integer initialSize;
    @Value("${spring.datasource.minIdle}")
    private int minIdle;
    private Integer minIdle;
    @Value("${spring.datasource.maxActive}")
    private int maxActive;
    private Integer maxActive;
    @Value("${spring.datasource.maxWait}")
    private int maxWait;
    private Integer maxWait;
    @Value("${spring.datasource.timeBetweenEvictionRunsMillis}")
    private int timeBetweenEvictionRunsMillis;
    private Integer timeBetweenEvictionRunsMillis;
    @Value("${spring.datasource.minEvictableIdleTimeMillis}")
    private int minEvictableIdleTimeMillis;
    private Integer minEvictableIdleTimeMillis;
    @Value("${spring.datasource.validationQuery}")
    private String validationQuery;
    @Value("${spring.datasource.testWhileIdle}")
    private boolean testWhileIdle;
    private Boolean testWhileIdle;
    @Value("${spring.datasource.testOnBorrow}")
    private boolean testOnBorrow;
    private Boolean testOnBorrow;
    @Value("${spring.datasource.testOnReturn}")
    private boolean testOnReturn;
    private Boolean testOnReturn;
    @Value("${spring.datasource.poolPreparedStatements}")
    private boolean poolPreparedStatements;
    private Boolean poolPreparedStatements;
    @Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")
    private int maxPoolPreparedStatementPerConnectionSize;
    private Integer maxPoolPreparedStatementPerConnectionSize;
    @Value("${spring.datasource.removeAbandoned}")
    private Boolean removeAbandoned;
    @Value("${spring.datasource.removeAbandonedTimeout}")
    private Integer removeAbandonedTimeout;
    @Value("${spring.datasource.logAbandoned}")
    private Boolean logAbandoned;
@ -81,8 +87,9 @@ public class DataSourceConfig {
        datasource.setTestOnReturn(testOnReturn);
        datasource.setPoolPreparedStatements(poolPreparedStatements);
        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
        datasource.setRemoveAbandoned(removeAbandoned);
        datasource.setRemoveAbandonedTimeout(removeAbandonedTimeout);
        datasource.setLogAbandoned(logAbandoned);
        return datasource;
    }
@ -116,6 +123,9 @@ public class DataSourceConfig {
        datasource.setTestOnReturn(testOnReturn);
        datasource.setPoolPreparedStatements(poolPreparedStatements);
        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
        datasource.setRemoveAbandoned(removeAbandoned);
        datasource.setRemoveAbandonedTimeout(removeAbandonedTimeout);
        datasource.setLogAbandoned(logAbandoned);
        return datasource;
    }
@ -147,6 +157,9 @@ public class DataSourceConfig {
        datasource.setTestOnReturn(testOnReturn);
        datasource.setPoolPreparedStatements(poolPreparedStatements);
        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
        datasource.setRemoveAbandoned(removeAbandoned);
        datasource.setRemoveAbandonedTimeout(removeAbandonedTimeout);
        datasource.setLogAbandoned(logAbandoned);
        return datasource;
    }

+ 1 - 1
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/convert/wlyy/AgeConvert.java

@ -50,7 +50,7 @@ public class AgeConvert implements Convert {
            return Contant.convert.level_age_3;
        } else if (age >= 31 && age <= 50) {
            return Contant.convert.level_age_4;
        } else if (age >= 51 && age <= 65) {
        } else if (age >= 51 && age < 65) {
            return Contant.convert.level_age_5;
        } else {
            return Contant.convert.level_age_6;

+ 3 - 0
patient-co/patient-co-statistics-es/src/main/resources/application.yml

@ -26,6 +26,9 @@ spring:
    timeBetweenEvictionRunsMillis: 300000 #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小
    poolPreparedStatements: true # 打开PSCache,并且指定每个连接上PSCache的大小
    maxPoolPreparedStatementPerConnectionSize: 50
    removeAbandoned: true #超过时间限制是否回收
    removeAbandonedTimeout: 180 #超时时间;单位为秒。180秒=3分钟
    logAbandoned: false #关闭abanded连接时输出错误日志
    # REDIS
  redis:
    database: 0 # Database index used by the connection factory.

+ 3 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -280,9 +280,9 @@ public class ConsultTeamService extends ConsultService {
//                member = doctorTeamDoctor.findDoctorJiating2ByTeam(doctorTeam.getCode(), 2);
//            }
        }
        if (member == null) {
            throw new Exception("找不到签约服务团队医生");
        }
//        if (member == null) {
//            throw new Exception("找不到签约服务团队医生");
//        }
        int count = consultTeamDao.countByPatient(patient, memberCode);
        return count > 0;
    }

+ 27 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/followup/FollowUpService.java

@ -1209,4 +1209,31 @@ public class FollowUpService extends BaseService {
        
        return result;
    }
    
    /**
     * 保存随访详情
     * @param followupContentESDO
     * @throws Exception
     */
    public void esSaveFollowupContentESDAO(FollowupContentESDO followupContentESDO)throws Exception{
        JestClient jestClient = null;
        try {
        
        
            jestClient = elasticFactory.getJestClient();
        
            List<FollowupContentESDO> dataList = new ArrayList<>();
            if(followupContentESDO != null){
                dataList.add(followupContentESDO);
                //删除原有记录
                this.esDeleteFollowUpContent(dataList);
            }
            elastricSearchSave.save(dataList, esIndex, esType);
        
        } finally {
            if (jestClient != null) {
                jestClient.shutdownClient();
            }
        }
    }
}

+ 35 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionFollowupContentService.java

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.device.entity.DevicePatientHealthIndex;
import com.yihu.es.entity.FollowupContentESDO;
import com.yihu.wlyy.entity.followup.Followup;
import com.yihu.wlyy.entity.followup.FollowupDrugs;
import com.yihu.wlyy.entity.patient.prescription.Prescription;
@ -358,7 +359,28 @@ public class PrescriptionFollowupContentService extends BaseService {
				imBloodSugarValue = obj.getString("value7");
			}
			
			followUpService.esSaveFollowupProjectData(followup_id, "3", followupProjectData);
			
			
			
			FollowupContentESDO followupContentESDO = followUpService.esGetFollowupProjectData(followup_id,"3");
			
			if(followupContentESDO != null){
				followUpService.esSaveFollowupProjectData(followup_id, "3", followupProjectData);
			}else{
				FollowupContentESDO newfollowupContentESDO = JSON.parseObject(followupProjectData, FollowupContentESDO.class);
				if(StringUtils.isNotBlank(newfollowupContentESDO.getRANDOM_BLOOD_SUGAR())){
					followupContentESDO.setRANDOM_BLOOD_SUGAR(newfollowupContentESDO.getRANDOM_BLOOD_SUGAR());
				}
				
				if(StringUtils.isNotBlank(newfollowupContentESDO.getNO_BS_FPG())){
					followupContentESDO.setNO_BS_FPG(newfollowupContentESDO.getNO_BS_FPG());
				}
				
				if(StringUtils.isNotBlank(newfollowupContentESDO.getBS_FPG())){
					followupContentESDO.setBS_FPG(newfollowupContentESDO.getBS_FPG());
				}
				followUpService.esSaveFollowupContentESDAO(followupContentESDO);
			}
			
			//是否需要发送IM消息
			if(sendIM){
@ -490,7 +512,18 @@ public class PrescriptionFollowupContentService extends BaseService {
			org.json.JSONObject jsonObject = jsonArray.getJSONObject(0);
			
			followupProjectData = "{'BP_D':'"+jsonObject.getString("value1")+"','BP_U':'"+jsonObject.getString("value2")+"'}";
			followUpService.esSaveFollowupProjectData(followup_id, "2", followupProjectData);
			
			
			FollowupContentESDO followupContentESDO = followUpService.esGetFollowupProjectData(followup_id,"2");
			
			if(followupContentESDO != null){
				followUpService.esSaveFollowupProjectData(followup_id, "2", followupProjectData);
			}else{
				followupContentESDO.setBP_D(jsonObject.getString("value1"));
				followupContentESDO.setBP_U(jsonObject.getString("value2"));
				followUpService.esSaveFollowupContentESDAO(followupContentESDO);
			}
			
			
			//是否需要发送IM消息
			if(sendIM){

+ 38 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -28,11 +28,11 @@ import com.yihu.wlyy.service.app.label.SignPatientLabelInfoService;
import com.yihu.wlyy.service.app.message.MessageService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.app.team.AdminTeamService;
import com.yihu.wlyy.service.third.fzzb.HealthEducationArticleService;
import com.yihu.wlyy.service.third.jw.JwArchivesService;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.task.SignUploadTask;
import com.yihu.wlyy.util.*;
import com.yihu.wlyy.web.third.gateway.controller.doctor.GcDoctorController;
import com.yihu.wlyy.wechat.util.WeiXinAccessTokenUtils;
import com.yihu.wlyy.wechat.util.WeiXinOpenIdUtils;
import org.apache.commons.lang3.StringUtils;
@ -139,6 +139,8 @@ public class FamilyContractService extends BaseService {
    private JwArchivesService jwArchivesService;
    @Autowired
    private FamilyContractService familyContractService;
    @Autowired
    private HealthEducationArticleService healthEducationArticleService;
    @Autowired
    private ImUtill ImUtill;
@ -368,6 +370,41 @@ public class FamilyContractService extends BaseService {
        return json;
    }
    /**
     * 查询集美医生主页信息
     *
     * @param doctor  医生标识
     * @param patient 患者标识
     * @return
     */
    public JSONObject findJiMeiDoctorMainPage(String patient, String doctor) {
        JSONObject json = new JSONObject();
        // 查询医生基本信息
        Doctor d = doctorDao.findByCode(doctor);
        json.put("doctor", d.getCode());
        json.put("evaluateScore", d.getEvaluateScore());
        json.put("name", d.getName());
        json.put("photo", d.getPhoto());
        json.put("sex", d.getSex());
        json.put("job", d.getJob());
        json.put("jobName", d.getJobName());
        json.put("hospital", d.getHospitalName());
        json.put("dept", d.getDeptName());
        json.put("intro", d.getIntroduce());
        json.put("expertise", d.getExpertise());
        json.put("level", d.getLevel());
        //获取健康文章
        com.alibaba.fastjson.JSONArray jsonArray = new com.alibaba.fastjson.JSONArray();
        try {
            jsonArray = healthEducationArticleService.getDoctorArticalByUserId(null,1,null,0,3,doctor);
        }catch (Exception e){
            logger.error("获取福州健康文章失败,"+e.getMessage());
        }
        json.put("healthEduArticles",jsonArray);
        return json;
    }
    /**
     * 查询患者与医生的签约信息
     *

+ 102 - 85
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/ElasticsearchUtil.java

@ -40,7 +40,7 @@ public class ElasticsearchUtil {
    private Logger logger = LoggerFactory.getLogger(ElasticsearchUtil.class);
    private final String commonParams="xmijk_quota";
    private final String commonParams = "xmijk_quota";
    @Autowired
    private ElasticFactory elasticFactory;
@ -54,6 +54,8 @@ public class ElasticsearchUtil {
    public List excute(String sql, Class clazz, String esType, String esIndex) {
        List saveModels = new ArrayList<>();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX");
        SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            //解决 group by之后默认是200的问题
            if (sql.toLowerCase().contains("group by")) {
@ -109,7 +111,13 @@ public class ElasticsearchUtil {
                            if (heads.get(i).contains("date_histogram")) {
                                key = "setQuotaDate";
                            }
                            value = dateFormat.parse(String.valueOf(value));
                            try {
                                //yyyy-MM-dd'T'HH:mm:ssXX
                                value = dateFormat.parse(String.valueOf(one.get(i)));
                            } catch (Exception e) {
                                //yyyy-MM-dd HH:mm:ss
                                value = dateFormat1.parse(String.valueOf(one.get(i)));
                            }
//                            value = DateUtil.strToDate(String.valueOf(value).replace("T00:00:00+0800", " 00:00:00"), "yyyy-MM-dd HH:mm:ss");
                        }
@ -121,7 +129,7 @@ public class ElasticsearchUtil {
                            clazz.getMethod(key, Double.class).invoke(saveModel, value);
                        } else if (value instanceof java.util.Date) {
                            clazz.getMethod(key, java.util.Date.class).invoke(saveModel, value);
                        }else if (value instanceof java.util.List) {
                        } else if (value instanceof java.util.List) {
                            clazz.getMethod(key, java.util.List.class).invoke(saveModel, value);
                        }
                    } catch (Exception e) {
@ -334,19 +342,19 @@ public class ElasticsearchUtil {
     * 获取一级指标的增量、到达量
     * 备注:原接口的二级指标对应现在的一级指标
     *
     * @param startDate     开始时间
     * @param endDate       结束时间
     * @param area          区域code
     * @param level         等级
     * @param index         指标
     * @param timeLevel     1增量 2到达量
     * @param startDate 开始时间
     * @param endDate   结束时间
     * @param area      区域code
     * @param level     等级
     * @param index     指标
     * @param timeLevel 1增量 2到达量
     * @param slaveKey1 一级维度
     * @param interval      1日 2周 3月
     * @param lowLevel      下个等级
     * @param interval  1日 2周 3月
     * @param lowLevel  下个等级
     * @return
     * @throws Exception
     */
    public List findDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel,  String slaveKey1, String interval, String lowLevel) throws Exception {
    public List findDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel, String slaveKey1, String interval, String lowLevel) throws Exception {
        //时间格式转换  yyyy-MM-dd转成 2017-07-17T00:00:00+0800
        if (StringUtils.isNotEmpty(startDate)) {
@ -370,33 +378,32 @@ public class ElasticsearchUtil {
            low_level = lowLevel;
        }
        if (SaveModel.teamLevel.equals(low_level)) {
            sql.append("select team,teamName,slaveKey1,slaveKey1Name,sum(result1) result1, sum(result2) result2 from " + esIndex + " where ");
            sql.append("select team,teamName,slaveKey1,slaveKey1Name,sum(result1) result1, sum(result2) result2,quotaDate from " + esIndex + " where ");
            groupBy.append("  group by team,teamName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
        } else if (SaveModel.OrgLevel.equals(low_level)) {
            sql.append("select hospital,hospitalName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            sql.append("select hospital,hospitalName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2),quotaDate result2 from " + esIndex + " where ");
            groupBy.append("  group by hospital,hospitalName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
        } else if (SaveModel.townLevel.equals(low_level)) {
            sql.append("select town,townName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            groupBy.append("  group by town,townName" );
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            sql.append("select town,townName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2,quotaDate from " + esIndex + " where ");
            groupBy.append("  group by town,townName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
        } else if (SaveModel.cityLevel.equals(low_level)) {
            sql.append("select city,cityName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            sql.append("select city,cityName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2,quotaDate from " + esIndex + " where ");
            groupBy.append("  group by city,cityName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
        }
        if (StringUtils.isNotEmpty(area)) {
            if (SaveModel.teamLevel.equals(level + "")) {
                sql.append(" team='" + area + "'");
            } else if (SaveModel.OrgLevel.equals(level + "")) {
@ -417,7 +424,7 @@ public class ElasticsearchUtil {
        if (StringUtils.isNotEmpty(endDate)) {
            sql.append(" and quotaDate<='" + endDate + "'");
        }
        if (StringUtils.isNotEmpty(slaveKey1)&&!commonParams.equals(slaveKey1)) {
        if (StringUtils.isNotEmpty(slaveKey1) && !commonParams.equals(slaveKey1)) {
            sql.append(" and slaveKey1='" + slaveKey1 + "'  ");
        }
@ -479,37 +486,37 @@ public class ElasticsearchUtil {
        if (SaveModel.teamLevel.equals(low_level)) {
            sql.append("select team,teamName,slaveKey1,slaveKey1Name,slaveKey2,slaveKey2Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            groupBy.append("  group by team,teamName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2)||commonParams.equals(slaveKey2)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2) || commonParams.equals(slaveKey2)) {
                groupBy.append(",slaveKey2,slaveKey2Name");
            }
        } else if (SaveModel.OrgLevel.equals(low_level)) {
            sql.append("select hospital,hospitalName,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            groupBy.append("  group by hospital,hospitalName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2)||commonParams.equals(slaveKey2)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2) || commonParams.equals(slaveKey2)) {
                groupBy.append(",slaveKey2,slaveKey2Name");
            }
        } else if (SaveModel.townLevel.equals(low_level)) {
            sql.append("select town,townName,slaveKey1,slaveKey1Name,slaveKey2,slaveKey2Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            groupBy.append("  group by town,townName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2)||commonParams.equals(slaveKey2)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2) || commonParams.equals(slaveKey2)) {
                groupBy.append(",slaveKey2,slaveKey2Name");
            }
        } else if (SaveModel.cityLevel.equals(low_level)) {
            sql.append("select city,cityName,slaveKey1,slaveKey1Name,slaveKey2,slaveKey2Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            groupBy.append("  group by city,cityName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1)||commonParams.equals(slaveKey1)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
            }
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2)||commonParams.equals(slaveKey2)) {
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey2) || commonParams.equals(slaveKey2)) {
                groupBy.append(",slaveKey2,slaveKey2Name");
            }
        }
@ -535,10 +542,10 @@ public class ElasticsearchUtil {
        if (StringUtils.isNotEmpty(endDate)) {
            sql.append(" and quotaDate<='" + endDate + "'");
        }
        if (StringUtils.isNotBlank(slaveKey1)&&(!commonParams.equals(slaveKey1))) {
        if (StringUtils.isNotBlank(slaveKey1) && (!commonParams.equals(slaveKey1))) {
            sql.append(" and slaveKey1='" + slaveKey1 + "'");
        }
        if (StringUtils.isNotBlank(slaveKey2)&&(!commonParams.equals(slaveKey2))) {
        if (StringUtils.isNotBlank(slaveKey2) && (!commonParams.equals(slaveKey2))) {
            sql.append(" and slaveKey2='" + slaveKey2 + "'");
        }
@ -598,6 +605,7 @@ public class ElasticsearchUtil {
    /**
     * 获取一个指标下所有一级维度按维度分组的数据
     *
     * @param startDate
     * @param endDate
     * @param area
@ -609,7 +617,7 @@ public class ElasticsearchUtil {
     * @return
     * @throws Exception
     */
    public List findDateAllQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel,String interval, String lowLevel) throws Exception {
    public List findDateAllQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel, String interval, String lowLevel) throws Exception {
        //时间格式转换  yyyy-MM-dd转成 2017-07-17T00:00:00+0800
        if (StringUtils.isNotEmpty(startDate)) {
@ -640,7 +648,7 @@ public class ElasticsearchUtil {
            groupBy.append("  group by hospital,hospitalName,slaveKey1,slaveKey1Name");
        } else if (SaveModel.townLevel.equals(low_level)) {
            sql.append("select town,townName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            groupBy.append("  group by town,townName,slaveKey1,slaveKey1Name" );
            groupBy.append("  group by town,townName,slaveKey1,slaveKey1Name");
        } else if (SaveModel.cityLevel.equals(low_level)) {
            sql.append("select city,cityName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from " + esIndex + " where ");
            groupBy.append("  group by city,cityName,slaveKey1,slaveKey1Name");
@ -730,12 +738,17 @@ public class ElasticsearchUtil {
     * @return
     */
    public SaveModel findOneDateQuotaLevel1(String quotaDate, String area, int level, String index, String timelevel, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel, slaveKey1, null, null);
        if (list.size() > 0) {
            return (SaveModel) list.get(0);
        } else {
            return null;
        }
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,  slaveKey1, null, null);
        return (SaveModel) list.get(0);
    }
    /**
     * 1级维度
     * 查询某一天某一个1级维度的某个1级维度下的指标 例如查询65岁以上患者
@ -748,13 +761,14 @@ public class ElasticsearchUtil {
     * @return
     */
    public SaveModel findOneDateQuotaLevel1NoSlaveKey1(String quotaDate, String area, int level, String index, String timelevel) throws Exception {
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel,  null, null, null);
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel, null, null, null);
        return (SaveModel) list.get(0);
    }
    /**
     * 1级维度
     * 查询某一个时间区间某一个1级维度的某个1级维度下的指标 例如查询65岁以上患者
     *
     * @param startDate
     * @param endDate
     * @param area
@ -764,8 +778,8 @@ public class ElasticsearchUtil {
     * @return
     * @throws Exception
     */
    public SaveModel findOneDateQuotaLevel1NoSlaveKey1(String startDate, String endDate,String area, int level, String index, String timelevel) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,  null, null, null);
    public SaveModel findOneDateQuotaLevel1NoSlaveKey1(String startDate, String endDate, String area, int level, String index, String timelevel) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, null, null, null);
        return (SaveModel) list.get(0);
    }
@ -783,10 +797,10 @@ public class ElasticsearchUtil {
     * @return
     */
    public SaveModel findOneDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timelevel, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,  slaveKey1, null, null);
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, slaveKey1, null, null);
        return (SaveModel) list.get(0);
    }
@ -817,7 +831,7 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findOneDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timelevel) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,  commonParams, null, null);
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, commonParams, null, null);
        return list;
    }
@ -834,12 +848,12 @@ public class ElasticsearchUtil {
     * @param slaveKey2 二级维度的key
     * @return
     */
    public  List<SaveModel> findOneDateQuotaLevel2(String quotaDate, String area, int level, String index, String timelevel, String slaveKey1, String slaveKey2) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
    public List<SaveModel> findOneDateQuotaLevel2(String quotaDate, String area, int level, String index, String timelevel, String slaveKey1, String slaveKey2) throws Exception {
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        if(org.springframework.util.StringUtils.isEmpty(slaveKey2)){
            slaveKey2=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey2)) {
            slaveKey2 = commonParams;
        }
        List list = findDateQuotaLevel2(quotaDate, quotaDate, area, level, index, timelevel, slaveKey1, slaveKey2, null, null);
        return list;
@ -858,8 +872,8 @@ public class ElasticsearchUtil {
     * @return
     */
    public SaveModel findOneDateQuotaLevel2NoSlaveKey1(String quotaDate, String area, int level, String index, String timelevel, String slaveKey2) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey2)){
            slaveKey2=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey2)) {
            slaveKey2 = commonParams;
        }
        List list = findDateQuotaLevel2(quotaDate, quotaDate, area, level, index, timelevel, null, slaveKey2, null, null);
        return (SaveModel) list.get(0);
@ -878,8 +892,8 @@ public class ElasticsearchUtil {
     * @return
     */
    public SaveModel findOneDateQuotaLevel2NoSlaveKey2(String quotaDate, String area, int level, String index, String timelevel, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel2(quotaDate, quotaDate, area, level, index, timelevel, slaveKey1, null, null, null);
        return (SaveModel) list.get(0);
@ -900,11 +914,11 @@ public class ElasticsearchUtil {
     * @return
     */
    public SaveModel findOneDateQuotaLevel2(String startDate, String endDate, String area, int level, String index, String timelevel, String slaveKey1, String slaveKey2) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        if(org.springframework.util.StringUtils.isEmpty(slaveKey2)){
            slaveKey2=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey2)) {
            slaveKey2 = commonParams;
        }
        List list = findDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, slaveKey1, slaveKey2, null, null);
        return (SaveModel) list.get(0);
@ -923,8 +937,8 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findOneDateQuotaLevel2(String quotaDate, String area, int level, String index, String timelevel, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel2(quotaDate, quotaDate, area, level, index, timelevel, slaveKey1, commonParams, null, null);
        return list;
@ -966,12 +980,13 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findLineChartDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timelevel, String interval, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,  slaveKey1, interval, null);
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, slaveKey1, interval, null);
        return list;
    }
    /**
     * 折线图
     * 1级维度
@ -987,9 +1002,10 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findLineChartDateQuotaLevel1NoSlaveKey1(String startDate, String endDate, String area, int level, String index, String timelevel, String interval) throws Exception {
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel,  null, interval, null);
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, null, interval, null);
        return list;
    }
    /**
     * 折线图
     * 2级维度
@ -1007,11 +1023,11 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findLineChartDateQuotaLevel2(String startDate, String endDate, String area, int level, String index, String timelevel, String interval, String slaveKey1, String slaveKey2) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        if(org.springframework.util.StringUtils.isEmpty(slaveKey2)){
            slaveKey2=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey2)) {
            slaveKey2 = commonParams;
        }
        List list = findDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, slaveKey1, slaveKey2, interval, null);
        return list;
@ -1130,12 +1146,13 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findListDateQuotaLevel1(String quotaDate, String area, int level, String index, String timelevel, String lowLevel, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel1(quotaDate, quotaDate, area, level, index, timelevel, slaveKey1, null, lowLevel);
        return list;
    }
    /**
     * 列表
     * 1级维度
@ -1170,8 +1187,8 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findListDateQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timelevel, String lowLevel, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, slaveKey1, null, lowLevel);
        return list;
@ -1193,27 +1210,27 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findListDateQuotaLevel2(String quotaDate, String area, int level, String index, String timelevel, String lowLevel, String slaveKey1, String slaveKey2) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        if(org.springframework.util.StringUtils.isEmpty(slaveKey2)){
            slaveKey2=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey2)) {
            slaveKey2 = commonParams;
        }
        List list = findDateQuotaLevel2(quotaDate, quotaDate, area, level, index, timelevel, slaveKey1, slaveKey2, null, lowLevel);
        return list;
    }
    public List<SaveModel> findListDateQuotaLevel2NoSlaveKey1(String quotaDate, String area, int level, String index, String timelevel, String lowLevel, String slaveKey2) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey2)){
            slaveKey2=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey2)) {
            slaveKey2 = commonParams;
        }
        List list = findDateQuotaLevel2(quotaDate, quotaDate, area, level, index, timelevel, null, slaveKey2, null, lowLevel);
        return list;
    }
    public List<SaveModel> findListDateQuotaLevel2NoSlaveKey2(String quotaDate, String area, int level, String index, String timelevel, String lowLevel, String slaveKey1) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        List list = findDateQuotaLevel2(quotaDate, quotaDate, area, level, index, timelevel, slaveKey1, null, null, lowLevel);
        return list;
@ -1241,11 +1258,11 @@ public class ElasticsearchUtil {
     * @return
     */
    public List<SaveModel> findListDateQuotaLevel2(String startDate, String endDate, String area, int level, String index, String timelevel, String lowLevel, String slaveKey1, String slaveKey2) throws Exception {
        if(org.springframework.util.StringUtils.isEmpty(slaveKey1)){
            slaveKey1=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey1)) {
            slaveKey1 = commonParams;
        }
        if(org.springframework.util.StringUtils.isEmpty(slaveKey2)){
            slaveKey2=commonParams;
        if (org.springframework.util.StringUtils.isEmpty(slaveKey2)) {
            slaveKey2 = commonParams;
        }
        List list = findDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, slaveKey1, slaveKey2, null, lowLevel);
        return list;

+ 15 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/FamilyContractController.java

@ -19,6 +19,7 @@ import com.yihu.wlyy.util.RSAUtils;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
@ -222,6 +223,20 @@ public class FamilyContractController extends BaseController {
        }
    }
    @RequestMapping(value = "jimeiHomepage",method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("集美家签医生主页")
    public String jimeiHomepage(@ApiParam(name = "doctor", value = "医生编码")
                                @RequestParam(value = "doctor", required = true) String doctor){
        try{
            JSONObject json = familyContractService.findJiMeiDoctorMainPage(getRepUID(), doctor);
            return write(200, "医生主页查询成功!", "data", json);
        }catch (Exception e){
            error(e);
            return error(-1, "医生主页查询失败!");
        }
    }
    /**
     * 与指定医生的签约状态查询接口
     *

+ 0 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/controller/doctor/GcEduArticleController.java

@ -1,7 +1,6 @@
package com.yihu.wlyy.web.third.gateway.controller.doctor;
import com.yihu.es.entity.HealthEduArticlePatient;
import com.yihu.es.entity.HealthEduArticlePatientESModel;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.service.app.consult.ConsultService;
import com.yihu.wlyy.service.common.account.PatientService;

+ 0 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/service/GcEduArticleService.java

@ -1,13 +1,10 @@
package com.yihu.wlyy.web.third.gateway.service;
//import com.yihu.es.entity.ArticleTest;
import com.alibaba.fastjson.JSONObject;
import com.yihu.es.entity.HealthEduArticlePatient;
import com.yihu.es.entity.HealthEduArticlePatientESModel;
import com.yihu.wlyy.config.es.ElastricSearchSave;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.education.HealthEduArticlePatientDao;
import com.yihu.wlyy.repository.patient.PatientDao;