chenweida 7 anni fa
parent
commit
7389cee993

+ 9 - 3
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/controller/QueryController.java

@ -164,7 +164,7 @@ public class QueryController {
            @ApiParam(name = "id", value = "指标id", required = true) @RequestParam(value = "id", required = true) String id,
            @ApiParam(name = "date", value = "时间(yyyy-MM-dd)", required = true) @RequestParam(value = "date", required = true) String date) {
        return  deleteData(DateUtil.strToDate(date, "yyyy-MM-dd"),id).toString();
        return deleteData(DateUtil.strToDate(date, "yyyy-MM-dd"), id).toString();
    }
    @ApiOperation(value = "删除某一天的数据")
@ -173,7 +173,7 @@ public class QueryController {
            @ApiParam(name = "date", value = "时间(yyyy-MM-dd)", required = true) @RequestParam(value = "date", required = true) String date) {
        return deleteData(DateUtil.strToDate(date, "yyyy-MM-dd"),null).toString();
        return deleteData(DateUtil.strToDate(date, "yyyy-MM-dd"), null).toString();
    }
    /**
@ -184,8 +184,10 @@ public class QueryController {
     */
    private net.sf.json.JSONObject deleteData(Date quotaDate, String quotaCode) {
        net.sf.json.JSONObject jsonObject = new net.sf.json.JSONObject();
        JestClient jestClient = null;
        try {
            JestClient jestClient = elasticFactory.getJestClient();
            jestClient = elasticFactory.getJestClient();
            //先根据条件查找出来
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
@ -219,6 +221,10 @@ public class QueryController {
            jsonObject.put("flag", false);
            jsonObject.put("message", e.getMessage());
            return jsonObject;
        } finally {
            if (jestClient != null) {
                jestClient.shutdownClient();
            }
        }
    }
}

+ 17 - 11
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentMysqlToEsQuotaJob.java

@ -153,7 +153,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
                //3.统计数据
                List<SaveModel> sms = compute(filterModel.getData(), dimensionQuotas, timeLevel, one);
                //4.更新数据
                Boolean success = updateData(sms, quotaDate, one.getId(), timeLevel,dimensionQuotas.size());
                Boolean success = updateData(sms, quotaDate, one.getId(), timeLevel, dimensionQuotas.size());
                tjQuotaLog.setJobType(success ? "1" : "0");
                tjQuotaLog.setJobEndTime(new Date());
@ -171,14 +171,16 @@ public class CurrentMysqlToEsQuotaJob implements Job {
    /**
     * 删除 某个指标某一天的某个timelevel的数据
     *  @param quotaDate
     *
     * @param quotaDate
     * @param quotaCode
     * @param timeLevel
     * @param size
     */
    private boolean updateData(List<SaveModel> sms, Date quotaDate, String quotaCode, String timeLevel, int size) {
        JestClient jestClient = null;
        try {
            JestClient jestClient = elasticFactory.getJestClient();
            jestClient = elasticFactory.getJestClient();
            //先根据条件查找出来
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
            searchSourceBuilder.query(
@ -195,19 +197,19 @@ public class CurrentMysqlToEsQuotaJob implements Job {
            List<SaveModel> quarySaveModels = result.getSourceAsObjectList(SaveModel.class);
            //如果之前有值就用查询出来的然后修改数目即可
            if (quarySaveModels != null && quarySaveModels.size() > 0) {
                List<SaveModel> saveModels=new ArrayList<>();
                List<SaveModel> saveModels = new ArrayList<>();
                //把新的值赋值给ES查询出来的值
                Map<String,SaveModel> newSaveModelMaps=new HashMap<>();
                Map<String, SaveModel> newSaveModelMaps = new HashMap<>();
                //list转map
                for(SaveModel newSaveModel:sms){
                    StringBuffer key=new StringBuffer(newSaveModel.getTeam()+"-"+newSaveModel.getSlaveKey1()+"-"+newSaveModel.getSlaveKey2()+"-"+newSaveModel.getSlaveKey3()+"-"+newSaveModel.getSlaveKey4());
                    newSaveModelMaps.put(key.toString(),newSaveModel);
                for (SaveModel newSaveModel : sms) {
                    StringBuffer key = new StringBuffer(newSaveModel.getTeam() + "-" + newSaveModel.getSlaveKey1() + "-" + newSaveModel.getSlaveKey2() + "-" + newSaveModel.getSlaveKey3() + "-" + newSaveModel.getSlaveKey4());
                    newSaveModelMaps.put(key.toString(), newSaveModel);
                }
                for (SaveModel esSavemodel : quarySaveModels) {
                    StringBuffer key=new StringBuffer(esSavemodel.getTeam()+"-"+esSavemodel.getSlaveKey1()+"-"+esSavemodel.getSlaveKey2()+"-"+esSavemodel.getSlaveKey3()+"-"+esSavemodel.getSlaveKey4());
                    SaveModel newSaveMode=newSaveModelMaps.get(key.toString());
                    if(newSaveMode!=null){
                    StringBuffer key = new StringBuffer(esSavemodel.getTeam() + "-" + esSavemodel.getSlaveKey1() + "-" + esSavemodel.getSlaveKey2() + "-" + esSavemodel.getSlaveKey3() + "-" + esSavemodel.getSlaveKey4());
                    SaveModel newSaveMode = newSaveModelMaps.get(key.toString());
                    if (newSaveMode != null) {
                        esSavemodel.setResult1(newSaveMode.getResult1());
                        esSavemodel.setResult2(newSaveMode.getResult2());
                        esSavemodel.setCreateTime(new Date());
@ -220,6 +222,10 @@ public class CurrentMysqlToEsQuotaJob implements Job {
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jestClient != null) {
                jestClient.shutdownClient();
            }
        }
        return false;
    }

+ 16 - 6
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/service/ExtractDataService.java

@ -71,7 +71,7 @@ public class ExtractDataService {
    public void extractOneDateWithId(String date, String quotaId) {
        String sql = "select * from wlyy_quota_result w where w.level1_type=1  and w.quato_code !=18 and w.quato_code !=19 and quota_date='" + date + "' and quato_code='" + quotaId + "'";
        List<WlyyQuotaResult> quotaResults = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyyQuotaResult.class));
        save2es(quotaResults, quotaId,date );
        save2es(quotaResults, quotaId, date);
        logger.info("date:" + date + ",quotaId:" + quotaId + "      success");
    }
@ -125,8 +125,9 @@ public class ExtractDataService {
    }
    private void deleteData(Date quotaDate, String quotaCode) {
        JestClient jestClient = null;
        try {
            JestClient jestClient = elasticFactory.getJestClient();
            jestClient = elasticFactory.getJestClient();
            //先根据条件查找出来
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
            searchSourceBuilder.query(
@ -150,12 +151,17 @@ public class ExtractDataService {
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jestClient != null) {
                jestClient.shutdownClient();
            }
        }
    }
    private void deleteData(Date quotaDate) {
        JestClient jestClient = null;
        try {
            JestClient jestClient = elasticFactory.getJestClient();
             jestClient = elasticFactory.getJestClient();
            //先根据条件查找出来
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
            searchSourceBuilder.query(
@ -178,6 +184,10 @@ public class ExtractDataService {
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jestClient != null) {
                jestClient.shutdownClient();
            }
        }
    }
@ -193,11 +203,11 @@ public class ExtractDataService {
            //
            quotaResults.stream().forEach(one -> {
                SaveModel saveModelTemp = new SaveModel();
                if("25".equals(one.getQuatoCode())){
                if ("25".equals(one.getQuatoCode())) {
                    //25的咨询到达量 存到3的到达量去
                    saveModelTemp.setQuotaCode("3");
                }else{
                saveModelTemp.setQuotaCode(one.getQuatoCode());
                } else {
                    saveModelTemp.setQuotaCode(one.getQuatoCode());
                }
                saveModelTemp.setQuotaDate(one.getQuotaDate());
                saveModelTemp.setCreateTime(one.getCreateTime());

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

@ -65,4 +65,4 @@ hibernate:
    naming_strategy: org.hibernate.cfg.ImprovedNamingStrategy
JobService:
  sleepTime: 30000
  sleepTime: 40000