Selaa lähdekoodia

Merge branch 'dev' of liubing/wlyy2.0 into dev

liubing 3 vuotta sitten
vanhempi
commit
a09d675442

+ 28 - 2
svr/svr-statistics-es/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentMysqlToEsQuotaJob.java

@ -40,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.*;
@ -253,6 +254,26 @@ public class CurrentMysqlToEsQuotaJob implements Job {
    private boolean updateData(List<SaveModel> sms, Date quotaDate, String quotaCode, String timeLevel) {
    private boolean updateData(List<SaveModel> sms, Date quotaDate, String quotaCode, String timeLevel) {
        JestClient jestClient = null;
        JestClient jestClient = null;
        try {
        try {
            //执行指标对象
            QuartzJobConfig quartzJobConfigTarget = quartzJobConfigDao.findById(quotaCode);
            //获取指标统计最小单位
            String areaLevel = quartzJobConfigTarget.getAreaLevel();
            String methodName="";
            if (org.apache.commons.lang3.StringUtils.isBlank(areaLevel)){
                areaLevel="6";
            }
            switch (areaLevel) {
                case "2":
                    methodName = "getCity";
                    break;
                case "4":
                    methodName = "getHospital";
                    break;
                default:
                    methodName = "getDoctor";
                    break;
            }
            jestClient = elasticFactory.getJestClient();
            jestClient = elasticFactory.getJestClient();
            //先根据条件查找出来
            //先根据条件查找出来
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
@ -273,14 +294,19 @@ public class CurrentMysqlToEsQuotaJob implements Job {
                List<SaveModel> saveModels = new ArrayList<>();
                List<SaveModel> saveModels = new ArrayList<>();
                //把新的值赋值给ES查询出来的值
                //把新的值赋值给ES查询出来的值
                Map<String, SaveModel> newSaveModelMaps = new HashMap<>();
                Map<String, SaveModel> newSaveModelMaps = new HashMap<>();
                String unitKey="";
                //list转map
                //list转map
                for (SaveModel newSaveModel : sms) {
                for (SaveModel newSaveModel : sms) {
                    StringBuffer key = new StringBuffer(newSaveModel.getDoctor() + "-" + newSaveModel.getSlaveKey1() + "-" + newSaveModel.getSlaveKey2() + "-" + newSaveModel.getSlaveKey3() + "-" + newSaveModel.getSlaveKey4());
                    Method method = newSaveModel.getClass().getMethod(methodName);
                    unitKey = (String) method.invoke(newSaveModel);
                    StringBuffer key = new StringBuffer(unitKey + "-" + newSaveModel.getSlaveKey1() + "-" + newSaveModel.getSlaveKey2() + "-" + newSaveModel.getSlaveKey3() + "-" + newSaveModel.getSlaveKey4());
                    newSaveModelMaps.put(key.toString(), newSaveModel);
                    newSaveModelMaps.put(key.toString(), newSaveModel);
                }
                }
                for (SaveModel esSavemodel : quarySaveModels) {
                for (SaveModel esSavemodel : quarySaveModels) {
                    StringBuffer key = new StringBuffer(esSavemodel.getDoctor() + "-" + esSavemodel.getSlaveKey1() + "-" + esSavemodel.getSlaveKey2() + "-" + esSavemodel.getSlaveKey3() + "-" + esSavemodel.getSlaveKey4());
                    Method method = esSavemodel.getClass().getMethod(methodName);
                    unitKey = (String) method.invoke(esSavemodel);
                    StringBuffer key = new StringBuffer(unitKey + "-" + esSavemodel.getSlaveKey1() + "-" + esSavemodel.getSlaveKey2() + "-" + esSavemodel.getSlaveKey3() + "-" + esSavemodel.getSlaveKey4());
                    SaveModel newSaveMode = newSaveModelMaps.get(key.toString());
                    SaveModel newSaveMode = newSaveModelMaps.get(key.toString());
                    if (newSaveMode != null) {
                    if (newSaveMode != null) {
                        esSavemodel.setResult1(newSaveMode.getResult1());
                        esSavemodel.setResult1(newSaveMode.getResult1());