|
@@ -406,26 +406,31 @@ public class AoidDailyYieldServiceImpl extends ServiceImpl<AoidDailyYieldMapper,
|
406
|
406
|
}
|
407
|
407
|
|
408
|
408
|
@Override
|
409
|
|
- public AoidDailyYield getDefaultDataNew(String wellId) {
|
|
409
|
+ public List<AoidDailyYield> getDefaultDataNew(String wellId) {
|
410
|
410
|
Map map = JSONObject.parseObject(wellId, HashMap.class);
|
411
|
|
- List list = JSONObject.parseObject(map.get("wellIdSet").toString(), List.class);
|
|
411
|
+ List<String> wellIds = JSONObject.parseObject(map.get("wellIdSet").toString(), List.class);
|
|
412
|
+ AoidDailyYield one = aoidDailyYieldMapper.selectOne(new QueryWrapper<AoidDailyYield>()
|
|
413
|
+ .select("max(prod_date) prod_date"));
|
412
|
414
|
QueryWrapper<AoidDailyYield> wrapper = new QueryWrapper<AoidDailyYield>()
|
413
|
|
- .in("well_id",list)
|
414
|
|
- .isNotNull("liq_prod_daily")
|
415
|
|
- .gt("liq_prod_daily",0)
|
416
|
|
- .orderByDesc("prod_date").last("limit 1");
|
417
|
|
- AoidDailyYield aoidDailyYield = aoidDailyYieldMapper.selectOne(wrapper);
|
418
|
|
- String orgByWellId = baseDataClient.getOrgInfoByWellID(aoidDailyYield.getWellId());
|
419
|
|
- Result result = JSONObject.parseObject(orgByWellId, Result.class);
|
420
|
|
- HashMap hashMap = JSONObject.parseObject(result.getData().toString(), HashMap.class);
|
421
|
|
- if (Objects.isNull(aoidDailyYield)) return aoidDailyYield;
|
422
|
|
- if (orgByWellId!="") {
|
423
|
|
- aoidDailyYield.setZyq(hashMap.get("gfat").toString());
|
424
|
|
- aoidDailyYield.setJq(hashMap.get("fat").toString());
|
425
|
|
- aoidDailyYield.setZd(hashMap.get("orgid").toString());
|
|
415
|
+ .in("well_id",wellIds).eq("prod_date",one.getProdDate());
|
|
416
|
+ List<AoidDailyYield> list = aoidDailyYieldMapper.selectList(wrapper);
|
|
417
|
+ List<AoidDailyYield> collect = list.stream().filter(x -> Objects.isNull(x.getLiqProdDaily())).collect(toList());
|
|
418
|
+ List<AoidDailyYield> temp = list.stream().filter(x -> !collect.contains(x)).collect(toList());
|
|
419
|
+ temp = temp.stream().sorted(Comparator.comparingDouble(AoidDailyYield::getLiqProdDaily).reversed()).collect(toList());
|
|
420
|
+ temp.addAll(collect);
|
|
421
|
+ String wellInfoByWellId = baseDataClient.getWellInfoByList(wellIds);
|
|
422
|
+ List list1 = JSONObject.parseObject(JSONObject.parseObject(wellInfoByWellId, Result.class).getData().toString(), ArrayList.class);
|
|
423
|
+ for (Object o : list1) {
|
|
424
|
+ for (AoidDailyYield dailyYield : temp) {
|
|
425
|
+ if (((JSONObject) o).get("wellId").equals(dailyYield.getWellId())) {
|
|
426
|
+ String[] stationIds = ((JSONObject) o).getString("stationId").split("@");
|
|
427
|
+ dailyYield.setZyq(stationIds[0]);
|
|
428
|
+ dailyYield.setJq(stationIds[1]);
|
|
429
|
+ dailyYield.setZd(stationIds[2]);
|
|
430
|
+ }
|
|
431
|
+ }
|
426
|
432
|
}
|
427
|
|
- return aoidDailyYield;
|
428
|
|
-
|
|
433
|
+ return temp;
|
429
|
434
|
}
|
430
|
435
|
|
431
|
436
|
@Override
|