|
@ -112,7 +112,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
|
|
|
|
|
|
//初始化统计年份
|
|
|
this.year = getNowYearByDate();
|
|
|
|
|
|
timeLevel="2";
|
|
|
//初始化开始时间
|
|
|
if ("2".equals(timeLevel)) {
|
|
|
//按年度到达量
|
|
@ -154,7 +154,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);
|
|
|
Boolean success = updateData(sms, quotaDate, one.getId(), timeLevel,dimensionQuotas.size());
|
|
|
|
|
|
tjQuotaLog.setJobType(success ? "1" : "0");
|
|
|
tjQuotaLog.setJobEndTime(new Date());
|
|
@ -172,12 +172,12 @@ 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) {
|
|
|
private boolean updateData(List<SaveModel> sms, Date quotaDate, String quotaCode, String timeLevel, int size) {
|
|
|
try {
|
|
|
JestClient jestClient = elasticFactory.getJestClient();
|
|
|
//先根据条件查找出来
|
|
@ -196,19 +196,26 @@ public class CurrentMysqlToEsQuotaJob implements Job {
|
|
|
List<SaveModel> quarySaveModels = result.getSourceAsObjectList(SaveModel.class);
|
|
|
//如果之前有值就用查询出来的然后修改数目即可
|
|
|
if (quarySaveModels != null && quarySaveModels.size() > 0) {
|
|
|
List<SaveModel> saveModels=new ArrayList<>();
|
|
|
//把新的值赋值给ES查询出来的值
|
|
|
Map<String,SaveModel> newSaveModelMaps=new HashMap<>();
|
|
|
//list转map
|
|
|
Map<String, SaveModel> smsMap = new HashMap<>();
|
|
|
sms.stream().forEach(one -> {
|
|
|
smsMap.put(one.getTeam(), one);
|
|
|
});
|
|
|
for (SaveModel obj : quarySaveModels) {
|
|
|
SaveModel newResult = smsMap.get(obj.getTeam());
|
|
|
obj.setResult1(newResult.getResult1());
|
|
|
obj.setResult2(newResult.getResult2());
|
|
|
obj.setCreateTime(new Date());
|
|
|
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){
|
|
|
esSavemodel.setResult1(newSaveMode.getResult1());
|
|
|
esSavemodel.setResult2(newSaveMode.getResult2());
|
|
|
esSavemodel.setCreateTime(new Date());
|
|
|
}
|
|
|
saveModels.add(esSavemodel);
|
|
|
}
|
|
|
sms = quarySaveModels;
|
|
|
return updateDate(sms);
|
|
|
return updateDate(saveModels);
|
|
|
} else {
|
|
|
return saveDate(sms);
|
|
|
}
|