1:调取他人的服务前提是有服务的地址,声明一个 RestTemplate用他的方法,去调用。一搬返回的是一个用String 接收的字符串,但是在调服务那里他的swagger (若是springboot jpa 的话)里面一般是以json 字符串展示,所以要想获取里面的属性必须转换成 jsonobject 对象才可以获取对方的属性,数组是直接不能获取他的属性的。这一点非常重要,切记!! 下面的是咱的成果。
2:通过微服务调用(调别人的服务是需要钥匙的)的话在自己的swagger中是需要 jwt 或者 token 的,这个从F12来获取!!
3:注意前往不要在for 循环中调用查询方法,或者调用其他东西(总之for循环别调用)下面红字是解决的方法!!!
4:千万别再for 循环中 String str=new String() 这样会过多的分配堆栈影响性能!!
package com.cnpc.epai.welllifesystem.service;
/*
@author -lijing28
@DESCRIPTION ${DESCRIPTION}
@create 2019-1-7
*/
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cnpc.epai.common.util.BusinessException;
import com.cnpc.epai.welllifesystem.domain.DrWlDatabook;
import com.cnpc.epai.welllifesystem.domain.DrWlWellHistory;
import com.cnpc.epai.welllifesystem.repository.WellNumberRepository;
import com.cnpc.epai.welllifesystem.repository.WellNumberSettingRepository;
import com.cnpc.epai.welllifesystem.util.UpdateTool;
import org.apache.commons.lang.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import springfox.documentation.spring.web.json.Json;
import java.awt.print.Pageable;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import static com.sun.tools.corba.se.idl.constExpr.Expression.one;
@Service
public class WellNumberServiceImpl implements WellNumberService{
@Autowired
private WellNumberSettingRepository wellNumberSettingRepository;
@Autowired
private WellNumberRepository wellNumberRepository;
@Autowired
private RestTemplate restTemplate;
static final String wellUrl="http://3001dataset";
private String dataBookNameById(String databookId) {
return wellNumberRepository.dataBookNameById(databookId);
}
private String dataHistoryImport(String wellId,String datasetId) {
//调用查询的databook 中 description 用于替换
String searchUrl = wellUrl + "/core/dataset/udb/"+datasetId+"/searchdata.json";
MultiValueMap<String,Object> map = new LinkedMultiValueMap<>();
map.add("param[]","WELL_ID = "+wellId);
// new HttpEntity<>( map ) 之所以把map 放到HttpEntity HttpEntity其实相当于一个消息实体,内容是http传送的报文(这里可以说是html,css等等文件)。这里只需要知道它是用来表征一个http报文的实体就行了,用来发送或接收。
String postForObject = restTemplate.postForObject(searchUrl, new HttpEntity<>( map ), String.class, datasetId);
return postForObject;
}
//使用组装的查询条件和datasetId从3001服务中获取指定数据 需调用
private String getWellDateFromLake( MultiValueMap<String, Object> data , String datasetId ){
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity httpEntity = new HttpEntity(data, headers);
String searchUrl = wellUrl + "/core/dataset/udb/"+datasetId+"/searchdataplus.json";
String wellDateStr = restTemplate.postForObject(searchUrl, httpEntity, String.class, datasetId);
return wellDateStr;
}
//井位下发00101 Klv9VWWlJRXjld4QX5Q6sKmpSTELvec0 油井:WELLJD100001949 属于:设计
@Override
public String dataWellDistributed(String wellId){
//井基本信息的datasetId String.valueOf(Math.round(Integer.parseInt(content.getString("GEO_OFFSET_EAST"))))
String datasetId = "Klv9VWWlJRXjld4QX5Q6sKmpSTELvec0";
String dataBookNameById = "";
String json = dataHistoryImport(wellId, datasetId);
JSONObject jsonObject = JSON.parseObject(json);
if (null !=jsonObject.getJSONArray("content") && jsonObject.getJSONArray("content").size()>0){
dataBookNameById = dataBookNameById("00101");
JSONObject content = jsonObject.getJSONArray("content").getJSONObject(0);//content.getString("GEO_OFFSET_NORTH")content.getString("GEO_OFFSET_NORTH");
if (!(content.getString("GEO_DESCRIPTION")==null
&& content.getString("GEO_OFFSET_NORTH")==null
&& content.getString("GEO_OFFSET_EAST")==null
&& content.getString("WELL_PURPOSE")==null
&& content.getString("BUDGETED_MD")==null
&& content.getString("TARGET_FORMATION")==null)){
//[地理位置]
if(content.getString("GEO_DESCRIPTION")==null){
dataBookNameById=dataBookNameById.replace("该井位于[地理位置]境内,","");
}else {
dataBookNameById=dataBookNameById.replace("[地理位置]",content.getString("GEO_DESCRIPTION"));
}
//[X] [Y]
if(null !=content.getString("GEO_OFFSET_NORTH") && null !=content.getString("GEO_OFFSET_EAST")){
dataBookNameById=dataBookNameById.replace("[X]",content.getString("GEO_OFFSET_NORTH"));
dataBookNameById=dataBookNameById.replace("[Y]",content.getString("GEO_OFFSET_EAST"));
}else {
dataBookNameById=dataBookNameById.replace("设计坐标为X:[X],Y:[Y],","");
}
//[设计井别]
if(content.getString("WELL_PURPOSE")==null){
dataBookNameById=dataBookNameById.replace("设计井别为[设计井别],","");
}else {
dataBookNameById=dataBookNameById.replace("[设计井别]",content.getString("WELL_PURPOSE"));
}
//[设计井深]
if(content.getString("BUDGETED_MD")==null){
dataBookNameById=dataBookNameById.replace("设计井深[设计井深]m,","");
}else {
dataBookNameById=dataBookNameById.replace("[设计井深]",content.getString("BUDGETED_MD"));
}
//[目的层位]
if (content.getString("TARGET_FORMATION")==null){
dataBookNameById=dataBookNameById.replace(",目的层为[目的层位]","");
}else {
dataBookNameById=dataBookNameById.replace("[目的层位]",content.getString("TARGET_FORMATION"));
}
}else {
dataBookNameById="";
}
}
return dataBookNameById;
}
//钻井 Klv9VWWlJRXjld4QX5Q6sKmpSTELvec0 油井:WELLJD100001949 属于:钻井(IE)
@Override
public String dataWellDrilling(String wellId) {
String datasetId = "Klv9VWWlJRXjld4QX5Q6sKmpSTELvec0";
String dataBookNameById = "";
String json = dataHistoryImport(wellId, datasetId);
JSONArray content1= JSON.parseObject(json).getJSONArray("content");
if (null !=content1){
JSONObject content = content1.getJSONObject(0);
if ( !(content.getString("SPUD_DATE")==null
&& content.getString("END_DRILLING_DATE")==null
&& content.getString("COMPLETION_FORMATION")==null
&& content.getString("COMPLETION_MD")==null)){
dataBookNameById = dataBookNameById("00301");
dataBookNameById=dataBookNameById.replace("[开钻日期]",content.getString("SPUD_DATE")==null?"":content.getString("SPUD_DATE").replace("-","."));
//日期 To_Char(v_Kz, 'YYYY.MM.DD')
dataBookNameById=dataBookNameById.replace("[完钻日期]",content.getString("END_DRILLING_DATE")==null?"":content.getString("END_DRILLING_DATE").replace("-","."));
//[完钻层位]
if(content.getString("COMPLETION_FORMATION")==null){
dataBookNameById=dataBookNameById.replace("完钻层位[完钻层位],","");
}else {
dataBookNameById=dataBookNameById.replace("[完钻层位]",content.getString("COMPLETION_FORMATION"));
}
//[完钻井深]
if(content.getString("COMPLETION_MD")==null){
dataBookNameById=dataBookNameById.replace(",完钻井深[完钻井深]m","");
}else {
dataBookNameById=dataBookNameById.replace("[完钻井深]",content.getString("COMPLETION_MD"));
}
}
}
return dataBookNameById;
}
// 钻井事故 getWellDateFromLake 问题在勘探平台 没有JD的数据 !! 但是存储过程已经注销了 油井:WELLJD100001949 空的
@Override
public String dataWellDrillingAccident(String wellId) {
String datasetId = "cn98Sq7eSj5MRghdI7mhXDXG30qcHLe7";
String dataBookNameById="";
//组装查询条件
MultiValueMap<String, Object> queryCondition = new LinkedMultiValueMap<>();
queryCondition.add("quertDto",JSON.toJSONString(ArrayUtils.toMap(new Object[][]{
//jd井 但是此时JD没有数据 XJ有
{"dataRegions", Arrays.asList("XJ")},
//wellID
{"filter",ArrayUtils.toMap(new Object[][]{
{"key","WELL_ID"},
{"logic","AND"},
{ "realValue",Arrays.asList( wellId )}
})},
//按照OCCURRENCE_TIME升序排序
{"sort", ArrayUtils.toMap(new Object[][] {
{"OCCURRENCE_TIME", "ASC"}
})}
})));
//使用查询条件和datasetId从3001服务中获取数据
String json = getWellDateFromLake( queryCondition , datasetId );
JSONArray content1 = JSON.parseObject(json).getJSONArray("content");
if (null !=content1 && content1.size()>0){
JSONObject content = content1.getJSONObject(0);
if (null !=content.getString("OCCURRENCE_TIME")){
dataBookNameById = dataBookNameById("00302");
//暂时没有[日期2] 字段!! 日期2 最大时间 日期1 最小时间
dataBookNameById = dataBookNameById.replace("[日期1]", content.getString("OCCURRENCE_TIME") == null ? "" : content.getString("OCCURRENCE_TIME"));
}
}
return dataBookNameById;
}
//套管 7Zk3ngZ2tOFHinMphAwY2KkB92Ake4RO 返回多条 content.getString("CASING_MD") 数据集:钻井 属于:钻井
@Override
public String dataWellSurfaceCasing(String wellId,String casingName) {
List <String>list1=new ArrayList<String>();
String s="";
String dataBookNameById="";
String databookId="";
//油层套管 表层套管 油层套管 生产套管 7Zk3ngZ2tOFHinMphAwY2KkB92Ake4RO
String datasetId ="7Zk3ngZ2tOFHinMphAwY2KkB92Ake4RO";
//组装查询条件
MultiValueMap<String, Object> queryCondition = new LinkedMultiValueMap<>();
queryCondition.add("quertDto", JSON.toJSONString( ArrayUtils.toMap(new Object[][] {
//JD井
{"dataRegions", Arrays.asList("JD")},
//井wellId
{"filter", ArrayUtils.toMap(new Object[][] {
{"key", ""},
{"logic", "AND"},
{"subFilter",Arrays.asList( ArrayUtils.toMap(new Object[][]{
{"key","WELL_ID"},
{"logic", "AND"},
{"realValue",Arrays.asList(wellId)}
} ),
ArrayUtils.toMap(new Object[][]{
{"key","CASING_NAME"},
{"logic", "AND"},
{"realValue",Arrays.asList(casingName)},
//{"symbol","in"}
} ))
}
})}
})));
//pageable page 0 开始 size 写10000000 若比他大可能只有size=20 它最多展示2000条
queryCondition.add("page","0");
queryCondition.add("size","10000000");
//使用查询条件和datasetId从3001服务中获取数据
String json = getWellDateFromLake( queryCondition , datasetId );
//用於計算套管數量 组装查询条件
MultiValueMap<String, Object> queryCondition1 = new LinkedMultiValueMap<>();
queryCondition1.add("quertDto", JSON.toJSONString( ArrayUtils.toMap(new Object[][] {
//JD井
{"dataRegions", Arrays.asList("JD")},
//井wellId
{"filter", ArrayUtils.toMap(new Object[][] {
{"key", ""},
{"logic", "AND"},
{"subFilter",Arrays.asList(
ArrayUtils.toMap(new Object[][]{
{"key","CASING_NAME"},
{"logic", "AND"},
{"realValue",Arrays.asList(casingName)},
//{"symbol","in"}
} ))
}
})}
})));
queryCondition1.add("page","0");
queryCondition1.add("size","10000000");
String json1 = getWellDateFromLake( queryCondition1 , datasetId );
JSONArray content1 = JSON.parseObject(json).getJSONArray("content");
switch (casingName){
case "表层套管":
databookId="00303";
break;
case "油层套管":
databookId="00304";
break;
case "生产套管":
databookId="00305";
break;
case "技术套管":
databookId="00306";
break;
}
if (null !=content1 && content1.size()>0){
//调用查询方法
dataBookNameById = dataBookNameById(databookId);
String [] arr=new String[content1.size()];
Arrays.fill(arr,dataBookNameById);
for (int i=0;i<arr.length;i++){
JSONObject content = content1.getJSONObject(i);
if (!(content.getString("GRADE")==null
&&content.getString("CASING_OD")==null
&&content.getString("WALL_THICKNESS")==null
&&content.getString("CASING_MD")==null)){
//dataBookNameById = dataBookNameById(databookId);
dataBookNameById=arr[i].replace("[钢级]",content.getString("GRADE")==null?"":content.getString("GRADE"));
dataBookNameById=dataBookNameById.replace("[外径]",content.getString("CASING_OD")==null?"":content.getString("CASING_OD"));
dataBookNameById=dataBookNameById.replace("[壁厚]",content.getString("WALL_THICKNESS")==null?"":content.getString("WALL_THICKNESS"));
//count
dataBookNameById=dataBookNameById.replace("[套管数量]",String.valueOf(JSON.parseObject(json1).getString("totalElements")));
//max Integer.parseInt(JSON.parseObject(json1).getJSONArray("content").getJSONObject(0).getString("CASING_MD"))
List<Double> list=new ArrayList<Double>();
JSONArray jsonArray=JSON.parseObject(json1).getJSONArray("content");
for (int j=0;j<jsonArray.size();j++){
JSONObject jsonObject1 = jsonArray.getJSONObject(j);
if (null !=jsonObject1.getString("CASING_MD")) {
double casing_md = Double.parseDouble(jsonObject1.getString("CASING_MD"));
list.add(casing_md);
}
}
Double max = Collections.max(list);
dataBookNameById=dataBookNameById.replace("[下入深度]",String.valueOf(max));
list1.add(dataBookNameById);
}
}
for (int t=0;t<list1.size();t++){
s=s+list1.get(t)+" ";
}
}
return s;
}
//钻井取心 AAJClBONI1OmhcRiyYddG2cNZR8onCPM 模型:录井 dataHistoryImportCount
@Override
public String dataWellDrillingCoring(String wellId) {
String datasetId = "AAJClBONI1OmhcRiyYddG2cNZR8onCPM";
String dataBookNameById="";
//组装查询条件
MultiValueMap<String, Object> queryCondition = new LinkedMultiValueMap<>();
//pageable page 0 开始 size 写10000000 若比他大可能只有size=20 它最多展示2000条
queryCondition.add("page","0");
queryCondition.add("size","10000000");
String json1 = getWellDateFromLake( queryCondition , datasetId );
//所有没有wellId限制的所有小数组
JSONArray content2 =JSON.parseObject(json1).getJSONArray("content");
String json = dataHistoryImport(wellId, datasetId);
JSONArray content1 = JSON.parseObject(json).getJSONArray("content");
if (null !=content1 && content1.size()>0){
//取得是wellId 所对应的那一条
JSONObject content = content1.getJSONObject(0);
if (!(content.getString("CORING_SEQ")==null
&&content.getString("DEPTH_INCREMENT")==null
&&content.getString("CUT_RECOVERED")==null
&&content.getString("FULL_OIL_CONTAINED_CORE_LEN")==null)){
dataBookNameById = dataBookNameById("00401");
//求总个数 size
dataBookNameById=dataBookNameById.replace("[取心次数]",String.valueOf(content2.size()));
//求总长
double d1=0;
double d2=0;
double d3=0;
for (int i=0;i<content2.size();i++) {
String depth_increment = content2.getJSONObject(i).getString("DEPTH_INCREMENT");
String cut_recovered = content2.getJSONObject(i).getString("CUT_RECOVERED");
String full_oil_contained_core_len = content2.getJSONObject(i).getString("FULL_OIL_CONTAINED_CORE_LEN");
if (null !=depth_increment) {
d1+=Double.parseDouble(depth_increment);
}else {
d1=0+d1;
}
if (null !=cut_recovered) {
d2+=Double.parseDouble(cut_recovered);
}else {
d2=0+d2;
}
if (null !=full_oil_contained_core_len) {
d3+=Double.parseDouble(full_oil_contained_core_len);
}else {
d3=0+d3;
}
}
dataBookNameById=dataBookNameById.replace("[总进尺]",String.valueOf(d1));
//[所得岩心长] !!!! 替换说是[岩心总长] 但是右面是 [所得岩心长]
dataBookNameById=dataBookNameById.replace("[岩心总长]",String.valueOf(d2));
//找不到平均取心率字段 !!!
// dataBookNameById=dataBookNameById.replace("[平均取心率]",content.getString("WALL_THICKNESS")==null?"":content.getString("WALL_THICKNESS"));
//数据集模型是 饱含油心长 !!!
dataBookNameById=dataBookNameById.replace("[含油岩心长]",String.valueOf(d3));
}
}
//找不到取心层位字段
//dataBookNameById=dataBookNameById.replace("[取心层位]",content.getString("GRADE")==null?"":content.getString("GRADE"));
return dataBookNameById;
}
//综合测井 WfFszpIQg8BMeIB4GK42iWplsOChhJa1 返回多条数据 数据集 : 测井
@Override
public String dataWellComprehensiveLogging(String wellId) {
List <String>list=new ArrayList<String>();
String s="";
String dataBookNameById="";
String datasetId = "WfFszpIQg8BMeIB4GK42iWplsOChhJa1";
//String dataBookNameById = dataBookNameById("00501");
String json = dataHistoryImport(wellId, datasetId);
//String json2 = dataHistoryImportCount(datasetId);
JSONObject jsonObject = JSON.parseObject(json);
//JSONObject content = jsonObject.getJSONArray("content").getJSONObject(0);
JSONArray content1 = jsonObject.getJSONArray("content");
if (null !=content1 && content1.size()>0){
dataBookNameById = dataBookNameById("00501");
String [] arr=new String[content1.size()];
Arrays.fill(arr,dataBookNameById);
for (int i=0;i<arr.length;i++){
JSONObject content = content1.getJSONObject(i);
if (!(content.getString("START_TIME")==null
&&content.getString("TOP")==null
&&content.getString("BOTTOM")==null
&&content.getString("INSTRUMENT_TYPES")==null)){
dataBookNameById=arr[i].replace("[日期]",content.getString("START_TIME")==null?"":content.getString("START_TIME"));
//没有测井队伍字段
//dataBookNameById=dataBookNameById.replace("[测井队伍]",content.getString("DEPTH_INCREMENT")==null?"":content.getString("DEPTH_INCREMENT"));
//测井仪器字段 INSTRUMENT_TYPES 注意
dataBookNameById=dataBookNameById.replace("[测井仪器]",content.getString("INSTRUMENT_TYPES")==null?"":content.getString("INSTRUMENT_TYPES"));
dataBookNameById=dataBookNameById.replace("[测井井段]",content.getString("TOP")==null || content.getString("BOTTOM")==null?"":content.getString("TOP")+"m~"+content.getString("BOTTOM")+"m");
list.add(dataBookNameById);
}
}
for (int i=0;i<list.size();i++){
s =s+list.get(i)+" ";
}
}
return s;
}
//试油进展 wpwtGIEyvXHTrIG3a4ITFoD8ld2yClvv 没有定产字段 sql !!! 数据集:试油试采
@Override
public String dataWellTryTheWellShow(String wellId){
String datasetId = "wpwtGIEyvXHTrIG3a4ITFoD8ld2yClvv";
List <String>list=new ArrayList<String>();
String dataBookNameById="";
String s="";
String json = dataHistoryImport(wellId, datasetId);
JSONArray content1 = JSON.parseObject(json).getJSONArray("content");
if (null !=content1 && content1.size()>0){
dataBookNameById = dataBookNameById("00603");
String [] arr=new String[content1.size()];
Arrays.fill(arr,dataBookNameById);
for (int i=0;i<arr.length;i++){
JSONObject content = content1.getJSONObject(i);
if (!(content.getString("LAYER_NO")==null
&& content.getString("START_TIME")==null
&& content.getString("FORMATION_NAME")==null
&& content.getString("WORKING_SYSTEM")==null
&& content.getString("TUBING_PRES")==null
&& content.getString("CASING_PRES_RANGE")==null
&& content.getString("DAILY_PROD_OIL")==null
&& content.getString("DAILY_PROD_GAS")==null
&& content.getString("DAILY_PROD_WATER")==null
)){
dataBookNameById = arr[i].replace("&次&", content.getString("LAYER_NO") == null ? "" : content.getString("LAYER_NO"));
dataBookNameById = dataBookNameById.replace("&日期1&", content.getString("START_TIME") == null ? "" : content.getString("START_TIME").replace("yyyy-MM-dd","yyyy/MM/dd"));
dataBookNameById = dataBookNameById.replace("&试油层位&", content.getString("FORMATION_NAME") == null ? "" : content.getString("FORMATION_NAME"));
//没有定产字段
//dataBookNameById=dataBookNameById.replace("&定产&",content.getString("SPUD_DATE")==null?"":content.getString("GEO_DESCRIPTION"));
dataBookNameById = dataBookNameById.replace("Φ&工作制度&", content.getString("WORKING_SYSTEM") == null ? "" : content.getString("WORKING_SYSTEM"));
dataBookNameById = dataBookNameById.replace("&油压&", content.getString("TUBING_PRES") == null ? "" : content.getString("TUBING_PRES"));
dataBookNameById = dataBookNameById.replace("&套压&", content.getString("CASING_PRES_RANGE") == null ? "" : content.getString("CASING_PRES_RANGE"));
dataBookNameById = dataBookNameById.replace("&日产油&", content.getString("DAILY_PROD_OIL") == null ? "" : content.getString("DAILY_PROD_OIL"));
dataBookNameById = dataBookNameById.replace("&日产气&", content.getString("DAILY_PROD_GAS") == null ? "" : content.getString("DAILY_PROD_GAS"));
dataBookNameById = dataBookNameById.replace("&日产水&", content.getString("DAILY_PROD_WATER") == null ? "" : content.getString("DAILY_PROD_WATER"));
list.add(dataBookNameById);
}
}
for (int i=0;i<list.size();i++){
s =s+list.get(i)+" ";
}
}
return s;
}
//试油结论 wpwtGIEyvXHTrIG3a4ITFoD8ld2yClvv 数据集:试油试采
@Override
public String dataWellTestConclusion(String wellId) {
String datasetId = "wpwtGIEyvXHTrIG3a4ITFoD8ld2yClvv";
String dataBookNameById="";
String json = dataHistoryImport(wellId, datasetId);
JSONArray content1 = JSON.parseObject(json).getJSONArray("content");
if (null !=content1 && content1.size()>0){
JSONObject content = content1.getJSONObject(0);
if (!(content.getString("END_TIME")==null
&&content.getString("DAILY_PROD_OIL")==null
&&content.getString("DAILY_PROD_WATER")==null)){
dataBookNameById = dataBookNameById("00604");
if(content.getString("END_TIME")==null){
dataBookNameById=dataBookNameById.replace("[日期]完试,","");
}else {
dataBookNameById=dataBookNameById.replace("[日期]",content.getString("END_TIME"));
}
//dataBookNameById=dataBookNameById.replace("[日期]",content.getString("END_TIME")==null?"":content.getString("END_TIME"));
//没有定产字段
//dataBookNameById=dataBookNameById.replace("[定产]",content.getString("DAILY_PROD_OIL")==null?"":content.getString("DAILY_PROD_OIL"));
//[日产油]
if(content.getString("DAILY_PROD_OIL")==null){
dataBookNameById=dataBookNameById.replace(",日产油[日产油]t,日产水[日产水]m^3。","");
}else {
dataBookNameById=dataBookNameById.replace("[日产油]",content.getString("DAILY_PROD_OIL"));
}
//dataBookNameById=dataBookNameById.replace("[日产油]",content.getString("DAILY_PROD_OIL")==null?"":content.getString("DAILY_PROD_OIL"));
//[日产水]
if(content.getString("DAILY_PROD_WATER")==null){
dataBookNameById=dataBookNameById.replace(",日产水[日产水]m^3。","");
}else {
dataBookNameById=dataBookNameById.replace("[日产水]",content.getString("DAILY_PROD_WATER"));
}
//dataBookNameById=dataBookNameById.replace("[日产水]",content.getString("DAILY_PROD_WATER")==null?"":content.getString("DAILY_PROD_WATER"));
}
}
return dataBookNameById;
}
}