Commit bae94151 authored by ZWT's avatar ZWT

nocommit

parent cee6219f
......@@ -8,6 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowerLineWellheadInput;
import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowerLineWellheadViewOutput;
import pps.core.auth.HttpRequestClient;
import pps.core.prediction.constant.ThirdPartyApiConstant;
import pps.core.prediction.entity.WellheadDailyProductionSituationEnt;
......@@ -26,10 +29,8 @@ import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* 井口生产情况模块
......@@ -101,10 +102,31 @@ public class WellheadDailyProductionSituationService {
return XListResult.success(outputs);
}
/**
* 油井状态
* POST /prediction/wellhead-daily-production-situation/query-well-real-pv-data
* 接口ID:156558765
* 接口地址:https://app.apifox.com/project/3196988/apis/api-156558765
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link GetWellRealPvOutput}>
*/
@XApiAnonymous
@XText("井口生产情况--油井状态")
@XApiPost
public XListResult<GetWellRealPvOutput> queryWellRealPvData(XContext context, GetWellRealPvInput input) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> result = service.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.lineId(input.getLineId())
.build()
);
result.throwIfFail();
List<GetWellRealPvOutput> outputs;
List<DynamicQueryBasePowerLineWellheadViewOutput> list = result.getResult();
if (CollUtil.isEmpty(list)) {
return XListResult.success(new ArrayList<>(0));
}
String token = ServiceUtil.getToken(context);
HttpRequestClient client = new HttpRequestClient(token);
String url = XStartup.getCurrent().getProperty("third-party.chang-qing.url");
......@@ -112,9 +134,16 @@ public class WellheadDailyProductionSituationService {
String resultStr = client.doPostForm(url, new HashMap<>(0));
JSONObject jsonObject = JSON.parseObject(resultStr);
String data = jsonObject.getString("data");
List<GetWellRealPvOutput> outputs = JSON.parseArray(data, GetWellRealPvOutput.class);
outputs = JSON.parseArray(data, GetWellRealPvOutput.class);
if (CollUtil.isEmpty(outputs)) {
outputs = new ArrayList<>(0);
return XListResult.success(new ArrayList<>(0));
} else {
Set<String> collect = list.stream()
.map(DynamicQueryBasePowerLineWellheadViewOutput::getWellNumber)
.collect(Collectors.toSet());
outputs = outputs.stream()
.filter(o -> collect.contains(o.getWellNumber()))
.collect(Collectors.toList());
}
return XListResult.success(outputs);
}
......
package pps.core.prediction.service.data.wellhead_daily_production_situation;
import jakarta.validation.constraints.NotBlank;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
* 油井状态
*
......@@ -13,7 +16,23 @@ import xstartup.annotation.XText;
@Data
public class GetWellRealPvOutput {
@XText("线路ID")
@NotBlank(message = "缺少线路ID")
private String lineId;
@XText("井号")
@JSONField(name = "welL_NAME")
private String wellNumber;
@XText("下次启停时间")
@JSONField(name = "next_ExecDate")
private Date nextTime;
@XText("井口状态:停井/开井")
@JSONField(name = "status")
private String status;
@XText("累计产液量")
@JSONField(name = "reaL_LIQUID_DAILY")
private BigDecimal realLiquidProduction;
@XText("累计开井时长")
@JSONField(name = "starthours")
private Integer hours;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment