package cn.gistack.sm.sjztmd.word.service.impl;
|
|
import cn.gistack.common.utils.SpringContextUtil;
|
import cn.gistack.sm.sjztmd.entity.*;
|
import cn.gistack.sm.sjztmd.vo.AttResWithRainfall;
|
import cn.gistack.sm.sjztmd.vo.StationExport;
|
import cn.gistack.sm.sjztmd.vo.ZtResultInfo;
|
import cn.gistack.sm.sjztmd.vo.StationParams;
|
import cn.gistack.sm.sjztmd.mapper.SjztMdMapper;
|
import cn.gistack.sm.sjztmd.service.*;
|
import cn.gistack.sm.sjztmd.word.enums.*;
|
import cn.gistack.sm.sjztmd.word.service.ISjztmdService;
|
import cn.gistack.sm.sjztmd.word.util.WordUtil;
|
import cn.gistack.sm.sjztmd.word.vo.*;
|
import cn.gistack.sm.sjztods.constant.ZtApiUrlConstant;
|
import cn.gistack.sm.sjztods.constant.ZtConfigConstant;
|
import com.alibaba.excel.util.StringUtils;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.parser.Feature;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springblade.core.tool.utils.ObjectUtil;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpMethod;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.MultiValueMap;
|
import org.springframework.web.client.RestTemplate;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
@Service
|
@AllArgsConstructor
|
@DS("zt")
|
@Slf4j
|
public class SjztmdServiceImpl implements ISjztmdService {
|
|
//总计
|
private final String RIBAO_SHEET1_TOTAL_URL = "/services/1234567890ABCDEFGHIJKLMN/ribao_sheet1/api?small_start_stag=0&mid_start_stag=0&big_start_stag=0";
|
private final String RIBAO_SHEET1_OVER_NORM_POOL_STAG = "/services/1234567890ABCDEFGHIJKLMN/ribao/sheet1_over_norm_pool_stag/api?";
|
//中大型水库
|
private final String RIBAO_SHEET2_ZDX_URL = "/services/1234567890ABCDEFGHIJKLMN/ribao/sheet2_zdx/api?mid_start_stag=0&big_start_stag=0";
|
//超汛明细
|
private final String RIBAO_SHEET3_OVER_STAG_LIST_URL = "/services/1234567890ABCDEFGHIJKLMN/ribao/sheet3_over_stag_list/api?small_start_stag=0&mid_start_stag=0&big_start_stag=0";
|
//省直管
|
private final String SZ_INFO = "/services/1234567890ABCDEFGHIJKLMN/ribao/shengzh_new_rz/api";
|
|
private final String WATER_LEVEL_API = "/services/1234567890ABCDEFGHIJKLMN/water/device/detail/new?";
|
private final String RAIN_FALL_API = "/services/1234567890ABCDEFGHIJKLMN/rain/device/21/api?";
|
private final String VIDEO_STATION_API = "/services/1234567890ABCDEFGHIJKLMN/device_monitor_wmst_list/api?";
|
private final String IMAGE_STATION_API = "/services/1234567890ABCDEFGHIJKLMN/device_monitor_image_list/api?";
|
private final String OSMOTIC_API = "/services/1234567890ABCDEFGHIJKLMN/press/device/is_child/api?";
|
private final String SEEPAGE_API = "/services/1234567890ABCDEFGHIJKLMN/sl/device/is_child/api?";
|
private final String DISPLACEMENT_API = "/services/1234567890ABCDEFGHIJKLMN/wy/device/is_child/api?";
|
private final String TERMITE_API = "/services/1234567890ABCDEFGHIJKLMN/termite/device/is_child/api?";
|
|
|
@Autowired
|
private RestTemplate restTemplate;
|
private final SjztMdMapper mapper;
|
private final IAttResBaseService attResBase;
|
private final ITbAttResBaseService attResBaseService;
|
private final ITbAttResStagCharService attResStagCharService;
|
private final ITbAttResWaterDeliveryService attResWaterDeliveryService;
|
private final ITbAttResEngBeneService attResEngBeneService;
|
private final ITbAttResSafetyMonitorService attResSafetyMonitorService;
|
private final ITbAttResMgrSysBService attResMgrSysBService;
|
private final IAttResManagePersonService attResManagePersonService;
|
private final ITbAttResWaterBlockService attResWaterBlockService;
|
private final ITbAttResRsbNorspiService attResRsbNorspiService;
|
private final ITbAttResPowerStationService attResPowerStationService;
|
private final IStResRainfallService stResRainfallService;
|
private final ITbAttResProjectUtilizeService attResProjectUtilizeService;
|
private final ITbAttResInformationProjectService attResInformationProjectService;
|
|
@Override
|
public HashMap<String, Object> getTbWordVO(String resCd) {
|
|
|
TbAttResBase tbAttResBase = attResBaseService.getDetailByGuid(resCd);
|
TbAttResStagChar tbAttResStagChar = attResStagCharService.getDetailByGuid(resCd);
|
List<TbAttResWaterDelivery> tbAttResWaterDeliveryList = attResWaterDeliveryService.getDetailByGuid(resCd);
|
//挡水建筑物
|
List<TbAttResWaterBlock> tbAttResWaterBlockList = attResWaterBlockService.getDetailByGuid(resCd);
|
|
//正常溢洪道、泄洪洞、非常溢洪道
|
Map<String, Object> resRsbNorsipiVerspiMionitorDetailByGuid = attResRsbNorspiService.getResRsbNorsipiVerspiMionitorDetailByGuid(resCd);
|
|
//电站
|
List<TbAttResPowerStation> tbAttResPowerStationList = attResPowerStationService.getDetailByGuid(resCd);
|
|
//工程运用
|
TbAttResProjectUtilize tbAttResProjectUtilize = attResProjectUtilizeService.getDetailByGuid(resCd);
|
|
//信息化建设
|
TbAttResInformationProject tbAttResInformationProject = attResInformationProjectService.getDetailByGuid(resCd);
|
|
TbAttResEngBene tbAttResEngBene = attResEngBeneService.getDetailByGuid(resCd);
|
TbAttResSafetyMonitor tbAttResSafetyMonitor = attResSafetyMonitorService.getDetailByGuid(resCd);
|
TbAttResMgrSysB tbAttResMgrSysB = attResMgrSysBService.getDetailByGuid(resCd);
|
List<AttResManagePerson> attResManagePeople = attResManagePersonService.getPersonList(resCd);
|
|
String depart = attResManagePersonService.getCompetentDepart(resCd);
|
|
TbWordVO tbWordVO = new TbWordVO(tbAttResBase, tbAttResStagChar, tbAttResWaterBlockList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList,
|
tbAttResWaterDeliveryList, tbAttResEngBene, tbAttResSafetyMonitor, tbAttResMgrSysB, attResManagePeople);
|
tbWordVO.setCUnitName(depart);
|
|
Map<String, Object> tableMap = buildTableMap(tbAttResBase, tbAttResStagChar, tbAttResWaterBlockList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList,
|
tbAttResWaterDeliveryList, tbAttResEngBene, tbAttResSafetyMonitor, tbAttResMgrSysB, tbAttResProjectUtilize, tbAttResInformationProject);
|
|
|
HashMap<String, Object> obj = new HashMap<>();
|
obj.put("tbWordVO", tbWordVO);
|
obj.put("tableMap", tableMap);
|
|
return obj;
|
}
|
|
/**
|
* 创建表格参数
|
*
|
* @param tbAttResBase 水库基础信息
|
* @param tbAttResStagChar 水文特征
|
* @param tbAttResWaterBlockList 挡水建筑物
|
* @param resRsbNorsipiVerspiMionitorDetailByGuid 正常溢洪道、泄洪洞、非常溢洪道
|
* @param tbAttResPowerStationList 电站
|
* @param tbAttResWaterDeliveryList 输水建筑物
|
* @param tbAttResEngBene 水库效益
|
* @param tbAttResSafetyMonitor 安全鉴定
|
* @param tbAttResMgrSysB 管理体制
|
* @param tbAttResProjectUtilize 工程运用
|
* @param tbAttResInformationProject 信息化建设
|
* @return
|
*/
|
private Map<String, Object> buildTableMap(TbAttResBase tbAttResBase, TbAttResStagChar tbAttResStagChar,
|
List<TbAttResWaterBlock> tbAttResWaterBlockList, Map<String, Object> resRsbNorsipiVerspiMionitorDetailByGuid,
|
List<TbAttResPowerStation> tbAttResPowerStationList, List<TbAttResWaterDelivery> tbAttResWaterDeliveryList,
|
TbAttResEngBene tbAttResEngBene, TbAttResSafetyMonitor tbAttResSafetyMonitor, TbAttResMgrSysB tbAttResMgrSysB,
|
TbAttResProjectUtilize tbAttResProjectUtilize, TbAttResInformationProject tbAttResInformationProject) {
|
|
Map<String, Object> tableMap = new HashMap<>();
|
|
tableMap.put("resName", tbAttResBase.getName());
|
tableMap.put("resRegCode", tbAttResBase.getResRegCode());
|
tableMap.put("engScal", ResScalEnum.find(tbAttResBase.getResScal()).getLabel());
|
tableMap.put("engGrad", tbAttResBase.getEngGrad());
|
tableMap.put("longitude", tbAttResBase.getLgtd());
|
tableMap.put("latitude", tbAttResBase.getLttd());
|
tableMap.put("elevationSystem",tbAttResBase.getElevationSystem()==null?"": tbAttResBase.getElevationSystem().replace(",","").replace("其它",""));
|
tableMap.put("region", tbAttResBase.getBuildAddress());
|
tableMap.put("basName", BasCodeEnum.find(tbAttResBase.getBasCode()).getLabel());
|
tableMap.put("locRvName", tbAttResBase.getLocRvName());
|
|
String st = tbAttResBase.getStartTime() != null ? new SimpleDateFormat("YYYY年M月dd日").format(tbAttResBase.getStartTime()) : "";
|
String wst = tbAttResBase.getWaterStorageTm() != null ? new SimpleDateFormat("YYYY年M月dd日").format(tbAttResBase.getWaterStorageTm()) : "";
|
tableMap.put("startTime", st);
|
tableMap.put("waterStorageTm", wst);
|
|
|
tableMap.put("reinforceTm", tbAttResSafetyMonitor == null ? "":tbAttResSafetyMonitor.getReinforceTm() != null? new SimpleDateFormat("YYYY年M月dd日").format(tbAttResSafetyMonitor.getReinforceTm()) : "");
|
tableMap.put("completionTime", tbAttResSafetyMonitor == null ? "":tbAttResSafetyMonitor.getCompletionTime() != null? new SimpleDateFormat("YYYY年M月dd日").format(tbAttResSafetyMonitor.getCompletionTime()) : "");
|
|
String resFunc = tbAttResBase.getResFunc();
|
if (StringUtil.isNotBlank(resFunc)) {
|
List<String> resFucList = Arrays.asList(tbAttResBase.getResFunc().split(","));
|
List<String> resFucTextList = new ArrayList<>();
|
for (int i = 0; i < resFucList.size(); i++) {
|
String key = resFucList.get(i);
|
ResFucEnum resFucEnum = ResFucEnum.find(key);
|
resFucTextList.add(resFucEnum.getLabel());
|
}
|
resFunc = String.join("、", resFucTextList);
|
}
|
tableMap.put("resFunc", resFunc);
|
//水文特征
|
tableMap.put("conArea", tbAttResStagChar==null || tbAttResStagChar.getConArea()==null?"": WordUtil.removeTrailingZero(tbAttResStagChar.getConArea().toString()));
|
tableMap.put("moyearRainAvg", tbAttResStagChar==null || tbAttResStagChar.getMoyearRainAvg()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getMoyearRainAvg().toString()));
|
tableMap.put("moyearFlAvg", tbAttResStagChar==null || tbAttResStagChar.getMoyearFlAvg()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getMoyearFlAvg().toString()));
|
tableMap.put("downWacoSafeDisc", tbAttResStagChar==null || tbAttResStagChar.getDownWacoSafeDisc()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDownWacoSafeDisc().toString()));
|
tableMap.put("desFlSta", tbAttResStagChar==null || tbAttResStagChar.getDesFlSta()==null?"":tbAttResStagChar.getDesFlSta());
|
tableMap.put("desFlFlow", tbAttResStagChar==null || tbAttResStagChar.getDesFlFlow()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDesFlFlow().toString()));
|
tableMap.put("desFl1dayCap", tbAttResStagChar==null || tbAttResStagChar.getDesFl1dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDesFl1dayCap().toString()));
|
tableMap.put("desFl3dayCap", tbAttResStagChar==null || tbAttResStagChar.getDesFl3dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDesFl3dayCap().toString()));
|
tableMap.put("checFlSta", tbAttResStagChar==null || tbAttResStagChar.getChecFlSta()==null?"":tbAttResStagChar.getChecFlSta());
|
tableMap.put("checFlFlow", tbAttResStagChar==null || tbAttResStagChar.getChecFlFlow()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getChecFlFlow().toString()));
|
tableMap.put("checFl1dayCap", tbAttResStagChar==null || tbAttResStagChar.getChecFl1dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getChecFl1dayCap().toString()));
|
tableMap.put("checFl3dayCap", tbAttResStagChar==null || tbAttResStagChar.getChecFl3dayCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getChecFl3dayCap().toString()));
|
|
//水库特征
|
tableMap.put("adjustProp", tbAttResStagChar==null || tbAttResStagChar.getAdjustProp()==null?"":AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel());
|
tableMap.put("checFlStag", tbAttResStagChar==null || tbAttResStagChar.getChecFlStag()==null?"":tbAttResStagChar.getChecFlStag());
|
tableMap.put("totalCap", tbAttResStagChar==null || tbAttResStagChar.getTotalCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getTotalCap().toString()));
|
tableMap.put("desFlStag", tbAttResStagChar==null || tbAttResStagChar.getDesFlStag()==null?"":tbAttResStagChar.getDesFlStag());
|
tableMap.put("flprCap", tbAttResStagChar==null || tbAttResStagChar.getFlprCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getFlprCap().toString()));
|
tableMap.put("flConTopStag", tbAttResStagChar==null || tbAttResStagChar.getFlConTopStag()==null?"":String.format("%.2f",tbAttResStagChar.getFlConTopStag()));
|
tableMap.put("flSortCap", tbAttResStagChar==null || tbAttResStagChar.getFlStorCap()==null?"":tbAttResStagChar.getFlStorCap());
|
tableMap.put("corNormStag", tbAttResStagChar==null || tbAttResStagChar.getCorNormStag()==null?"":String.format("%.2f",tbAttResStagChar.getCorNormStag()));
|
tableMap.put("adjustStorCap", tbAttResStagChar==null || tbAttResStagChar.getAdjustStorCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getAdjustStorCap().toString()));
|
tableMap.put("deadStag", tbAttResStagChar==null || tbAttResStagChar.getDeadStag()==null?"":String.format("%.2f",tbAttResStagChar.getDeadStag()));
|
tableMap.put("deadCap", tbAttResStagChar==null || tbAttResStagChar.getDeadCap()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDeadCap().toString()));
|
tableMap.put("beforeFloodStag", tbAttResStagChar==null || tbAttResStagChar.getBeforeFloodStag()==null?"":String.format("%.2f",tbAttResStagChar.getBeforeFloodStag()));
|
tableMap.put("midFloodStag", tbAttResStagChar==null || tbAttResStagChar.getMidFloodStag()==null?"":String.format("%.2f",tbAttResStagChar.getMidFloodStag()));
|
tableMap.put("afterFloodStag", tbAttResStagChar==null || tbAttResStagChar.getAfterFloodStag()==null?"":String.format("%.2f",tbAttResStagChar.getAfterFloodStag()));
|
|
//new SimpleDateFormat("yyyy年MM月").format(tbAttResBase.getStartTime());
|
|
String bfs = tbAttResStagChar==null?"":tbAttResStagChar.getBeforeFloodStart() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getBeforeFloodStart()) : "";
|
String bfe = tbAttResStagChar==null?"":tbAttResStagChar.getBeforeFloodEnd() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getBeforeFloodEnd()) : "";
|
String mfs = tbAttResStagChar==null?"":tbAttResStagChar.getMidFloodStart() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getMidFloodStart()) : "";
|
String mfe = tbAttResStagChar==null?"":tbAttResStagChar.getMidFloodEnd() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getMidFloodEnd()) : "";
|
String afs = tbAttResStagChar==null?"":tbAttResStagChar.getAfterFloodStart() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getAfterFloodStart()) : "";
|
String afe = tbAttResStagChar==null?"":tbAttResStagChar.getAfterFloodEnd() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getAfterFloodEnd()) : "";
|
tableMap.put("beforeFloodStart", bfs);
|
tableMap.put("beforeFloodEnd", bfe);
|
if (!StringUtils.isEmpty(bfs) && !StringUtils.isEmpty(bfe)) {
|
tableMap.put("beforeFloodDataInfo", bfs + "-" + bfe);
|
}
|
tableMap.put("midFloodStart", mfs);
|
tableMap.put("midFloodEnd", mfe);
|
if (!StringUtils.isEmpty(mfs) && !StringUtils.isEmpty(mfe)) {
|
tableMap.put("midFloodDataInfo", mfs + "-" + mfe);
|
}
|
tableMap.put("afterFloodStart", afs);
|
tableMap.put("afterFloodEnd", afe);
|
if (!StringUtils.isEmpty(afs) && !StringUtils.isEmpty(afe)) {
|
tableMap.put("afterFloodDataInfo", afs + "-" + afe);
|
}
|
tableMap.put("desFloodFlowMax", tbAttResStagChar==null || tbAttResStagChar.getDesFloodFlowMax()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getDesFloodFlowMax().toString()));
|
tableMap.put("checFloodFlowMax", tbAttResStagChar==null || tbAttResStagChar.getChecFloodFlowMax()==null?"":WordUtil.removeTrailingZero(tbAttResStagChar.getChecFloodFlowMax().toString()));;
|
|
String mainDamType = "";
|
String mainDamMainFoundation = "";
|
String mainDamTopElevation = "";
|
String mainDamHeight = "";
|
String mainDamTopLength = "";
|
String mainDamWidth = "";
|
String mainIsTraffic = "";
|
String mainWaveWallTopElevation = "";
|
String mainUpDamProtectType = "";
|
String mainDownDamProtectType = "";
|
String damMainBodyType = "";
|
String damMainBodyTopElevation = "";
|
String damMainDrainType = "";
|
String mainDamBodyType = "";
|
String subDamNum = "";
|
String subDamTotLength = "";
|
String subDamMaxHeight = "";
|
String subDamTopWidth = "";
|
|
|
if (tbAttResWaterBlockList != null && tbAttResWaterBlockList.size() > 0 && tbAttResWaterBlockList.get(0).getNum() > 0) {
|
//主坝
|
TbAttResWaterBlock tbAttResWaterBlock = tbAttResWaterBlockList.get(0);
|
|
mainDamType = DamTypeEnum.find(tbAttResWaterBlock.getDamType()).getLabel();
|
mainDamMainFoundation = tbAttResWaterBlock.getDamMainFoundation();
|
mainDamTopElevation = StringUtil.isBlank(isNullObject(tbAttResWaterBlock.getDamTopElevation()))?"":String.format("%.2f",tbAttResWaterBlock.getDamTopElevation());
|
mainDamHeight = isNullObject(tbAttResWaterBlock.getDamHeight());
|
mainDamTopLength = isNullObject(tbAttResWaterBlock.getDamTopLength());
|
mainDamWidth = isNullObject(tbAttResWaterBlock.getDamWidth());
|
mainIsTraffic = tbAttResWaterBlock.getIsTraffic();
|
mainWaveWallTopElevation = StringUtil.isBlank(isNullObject(tbAttResWaterBlock.getWaveWallTopElevation()))?"":String.format("%.2f",tbAttResWaterBlock.getWaveWallTopElevation());
|
mainUpDamProtectType = convertType(tbAttResWaterBlock.getUpDamProtectType(), "Explain");
|
mainDownDamProtectType = convertType(tbAttResWaterBlock.getDownDamProtectType(), "Explain");
|
damMainBodyType = convertType(tbAttResWaterBlock.getDamMainBodyType(), "Explain");
|
damMainBodyTopElevation = isNullObject(tbAttResWaterBlock.getDamTopElevation());
|
damMainDrainType = convertType(tbAttResWaterBlock.getDamMainDrainType(), "Explain");
|
mainDamBodyType = DamBodyTypeEnum.find(convertType(isNullObject(tbAttResWaterBlock.getDamBodyType()), "Explain")).getLabel();
|
|
//副坝
|
subDamNum = isNullObject(tbAttResWaterBlock.getSubDamNum());
|
subDamTotLength = isNullObject(tbAttResWaterBlock.getSubDamTotLength());
|
subDamMaxHeight = isNullObject(tbAttResWaterBlock.getSubDamMaxHeight());
|
subDamTopWidth = isNullObject(tbAttResWaterBlock.getSubDamTopWidth());
|
|
|
}
|
|
tableMap.put("mainDamType", mainDamType);
|
tableMap.put("mainDamMainFoundation", mainDamMainFoundation);
|
tableMap.put("mainDamTopElevation", mainDamTopElevation);
|
tableMap.put("mainDamHeight", mainDamHeight);
|
tableMap.put("mainDamTopLength", mainDamTopLength);
|
tableMap.put("mainDamWidth", mainDamWidth);
|
tableMap.put("mainIsTraffic", mainIsTraffic);
|
tableMap.put("mainWaveWallTopElevation", mainWaveWallTopElevation);
|
tableMap.put("mainUpDamProtectType", mainUpDamProtectType);
|
tableMap.put("mainDownDamProtectType", mainDownDamProtectType);
|
tableMap.put("damMainBodyType", damMainBodyType);
|
tableMap.put("damMainBodyTopElevation", StringUtil.isNotBlank(damMainBodyTopElevation)?String.format("%.2f",Double.parseDouble(damMainBodyTopElevation)):"");
|
tableMap.put("damMainDrainType", damMainDrainType);
|
tableMap.put("mainDamBodyType", mainDamBodyType);
|
int subDamNumNew = tbAttResWaterBlockList.size() - 1;
|
tableMap.put("subDamNum", subDamNumNew);
|
if (subDamNumNew > 0) {
|
double damHeight = 0.0;
|
int index = 0;
|
double damTopLength = 0.0;
|
for (int i = 1; i < tbAttResWaterBlockList.size(); i++) {
|
TbAttResWaterBlock waterBlock = tbAttResWaterBlockList.get(i);
|
if (waterBlock.getDamHeight() > damHeight) {
|
damHeight = waterBlock.getDamHeight();
|
index = i;
|
}
|
damTopLength += waterBlock.getDamTopLength();
|
}
|
tableMap.put("subDamMaxHeight", damHeight);//副坝最大坝高
|
tableMap.put("subDamTopWidth", tbAttResWaterBlockList.get(index).getDamWidth());//坝顶宽引用最高那座的坝顶宽
|
tableMap.put("subDamTotLength", damTopLength);//坝长算所有副坝的总长度
|
} else {
|
tableMap.put("subDamMaxHeight", "");//副坝最大坝高
|
tableMap.put("subDamTopWidth", "");//坝顶宽引用最高那座的坝顶宽
|
tableMap.put("subDamTotLength", "");
|
}
|
|
|
|
|
//正常溢洪道
|
List<TbAttResRsbNorspi> tbAttResRsbNorspiList = (List<TbAttResRsbNorspi>) resRsbNorsipiVerspiMionitorDetailByGuid.get("tbAttResRsbNorspiList");
|
|
String norSpillwayType = "";
|
String isLocDamBody = "";
|
String norWeirTopElevation = "";
|
String norWeirTopWidth = "";
|
String norWorkingGateType = "";
|
String norCheckingFloodDischarge = "";
|
String disEnergyType = "";
|
String norOc = "";
|
|
if (tbAttResRsbNorspiList != null && tbAttResRsbNorspiList.size() > 0 && tbAttResRsbNorspiList.get(0).getNum() != null && tbAttResRsbNorspiList.get(0).getNum() > 0) {
|
TbAttResRsbNorspi tbAttResRsbNorspi = tbAttResRsbNorspiList.get(0);
|
|
if (tbAttResRsbNorspi.getSpillwayType().indexOf("9") > -1) {
|
String [] spillwayTypeStrs = tbAttResRsbNorspi.getSpillwayType().split(",");
|
if (spillwayTypeStrs.length > 1) {
|
norSpillwayType = spillwayTypeStrs[1];
|
} else {
|
norSpillwayType = SpillwayTypeEnum.find(tbAttResRsbNorspi.getSpillwayType()).getLabel();
|
}
|
|
} else {
|
norSpillwayType = SpillwayTypeEnum.find(tbAttResRsbNorspi.getSpillwayType()).getLabel();
|
}
|
|
isLocDamBody = tbAttResRsbNorspi.getIsLocDamBody();
|
norWeirTopElevation = isNullObject(tbAttResRsbNorspi.getWeirTopElevation());
|
norWeirTopWidth = isNullObject(tbAttResRsbNorspi.getWeirTopWidth());
|
|
if (null != tbAttResRsbNorspi.getIsGate() && tbAttResRsbNorspi.getIsGate().equals("否")) {
|
norWorkingGateType = "无闸控制";
|
} else if (null != tbAttResRsbNorspi.getIsGate() && tbAttResRsbNorspi.getIsGate().equals("是")) {
|
// 平板闸门,3X3
|
String typeName = RsbWorkingGateEnum.find(tbAttResRsbNorspi.getWorkingGateType().toString()).getLabel();
|
String norwgtStr = "";
|
if (StringUtil.isNotBlank(typeName)) {
|
norwgtStr = typeName;
|
}
|
if (null != tbAttResRsbNorspi.getGateWide()) {
|
if (StringUtil.isNotBlank(typeName)) {
|
norwgtStr += "," + tbAttResRsbNorspi.getGateNum() + "-" + tbAttResRsbNorspi.getGateWide() + "×" + tbAttResRsbNorspi.getGateLength();
|
} else {
|
norwgtStr += tbAttResRsbNorspi.getGateNum() + "-" + tbAttResRsbNorspi.getGateWide() + "×" + tbAttResRsbNorspi.getGateLength();
|
}
|
}
|
// norWorkingGateType = StringUtil.format("{},{}X{}", typeName, tbAttResRsbNorspi.getGateWide(), tbAttResRsbNorspi.getGateLength());
|
norWorkingGateType = norwgtStr;
|
}
|
|
norCheckingFloodDischarge = isNullObject(tbAttResRsbNorspi.getCheckingFloodDischarge());
|
disEnergyType = isNullObject(tbAttResRsbNorspi.getDisEnergyType()).equals("1")?"挑流消能":
|
isNullObject(tbAttResRsbNorspi.getDisEnergyType()).equals("2")?"底流消能":
|
isNullObject(tbAttResRsbNorspi.getDisEnergyType()).equals("3")?"面流消能":
|
isNullObject(tbAttResRsbNorspi.getDisEnergyType()).equals("4")?"戽流消能":
|
isNullObject(tbAttResRsbNorspi.getDisEnergyType()).equals("5")?"跌流消能":
|
isNullObject(tbAttResRsbNorspi.getDisEnergyType()).equals("6")?"孔板消能":
|
isNullObject(tbAttResRsbNorspi.getDisEnergyType()).equals("9")?"其他":"";
|
List<String> list = new ArrayList<>();
|
|
|
String ocType = OcTypeEnum.find(isNullObject(tbAttResRsbNorspi.getOcType())).getLabel();
|
if (StringUtil.isNotBlank(ocType)) {
|
list.add(ocType);
|
}
|
if (StringUtil.isNotBlank(tbAttResRsbNorspi.getOcPower())) {
|
list.add(tbAttResRsbNorspi.getOcPower());
|
}
|
norOc = String.join(",", list);
|
}
|
|
tableMap.put("norSpillwayType", norSpillwayType);
|
tableMap.put("isLocDamBody", isLocDamBody);
|
tableMap.put("norWeirTopElevation", StringUtils.isEmpty(norWeirTopElevation)?norWeirTopElevation:String.format("%.2f", Double.parseDouble(norWeirTopElevation)));
|
tableMap.put("norWeirTopWidth", norWeirTopWidth);
|
tableMap.put("norWorkingGateType", norWorkingGateType);
|
tableMap.put("norCheckingFloodDischarge", norCheckingFloodDischarge);
|
tableMap.put("disEnergyType", disEnergyType);
|
tableMap.put("norOc", norOc);
|
|
|
//非常溢洪道
|
List<TbAttResRsbVerspi> tbAttResRsbVerspiList = (List<TbAttResRsbVerspi>) resRsbNorsipiVerspiMionitorDetailByGuid.get("tbAttResRsbVerspiList");
|
|
String verSpillwayType = "";
|
String weirTopWidth = "";
|
String enableStandar = "";
|
String checkingFloodDischarge = "";
|
|
if (tbAttResRsbVerspiList != null && tbAttResRsbVerspiList.size() > 0 && tbAttResRsbVerspiList.get(0).getNum() !=null && tbAttResRsbVerspiList.get(0).getNum() > 0) {
|
TbAttResRsbVerspi tbAttResRsbVerspi = tbAttResRsbVerspiList.get(0);
|
|
verSpillwayType = VerSpillwayTypeEnum.find(tbAttResRsbVerspi.getSpillwayType()).getLabel();
|
weirTopWidth = isNullObject(tbAttResRsbVerspi.getWeirTopWidth());
|
enableStandar = tbAttResRsbVerspi.getEnableStandards();
|
checkingFloodDischarge = isNullObject(tbAttResRsbVerspi.getCheckingFloodDischarge());
|
}
|
tableMap.put("verSpillwayType", verSpillwayType);
|
tableMap.put("weirTopWidth", weirTopWidth);
|
tableMap.put("enableStandar", enableStandar);
|
tableMap.put("checkingFloodDischarge", checkingFloodDischarge);
|
|
//泄洪洞
|
List<TbAttResRsbSpillway> tbAttResRsbSpillwayList = (List<TbAttResRsbSpillway>) resRsbNorsipiVerspiMionitorDetailByGuid.get("tbAttResRsbSpillwayList");
|
|
String rsbSpillwayType = "";
|
String coveLength = "";
|
String rsbThresholdElevation = "";
|
String rsbExportElevation = "";
|
String rsbSection = "";
|
String checkFlDisCharge = "";
|
String rsbWorkingGateType = "";
|
String rsbOc = "";
|
|
if (tbAttResRsbSpillwayList != null && tbAttResRsbSpillwayList.size() > 0) {
|
TbAttResRsbSpillway tbAttResRsbSpillway = tbAttResRsbSpillwayList.get(0);
|
|
//类型为其他,有补充说明
|
rsbSpillwayType = convertType(tbAttResRsbSpillway.getSpillwayType(), "SpillwayHoleType");
|
rsbWorkingGateType = convertType(tbAttResRsbSpillway.getWorkingGateType(), "RsbWorkingGateEnum");
|
|
coveLength = isNullObject(tbAttResRsbSpillway.getCoveLength());
|
rsbThresholdElevation = isNullObject(tbAttResRsbSpillway.getThresholdElevation());
|
rsbExportElevation = isNullObject(tbAttResRsbSpillway.getExportElevation());
|
if (null != tbAttResRsbSpillway.getSectionWide() && null != tbAttResRsbSpillway.getSectionLength())
|
rsbSection = StringUtil.format("{}×{}", tbAttResRsbSpillway.getSectionWide(), tbAttResRsbSpillway.getSectionLength());
|
|
checkFlDisCharge = isNullObject(tbAttResRsbSpillway.getCheckFlDisCharge());
|
|
|
List<String> list = new ArrayList<>();
|
list.add(convertType(tbAttResRsbSpillway.getOcType(), "OcTypeEnum"));
|
list.add(tbAttResRsbSpillway.getOcPower());
|
if (StringUtil.isNotBlank(convertType(tbAttResRsbSpillway.getOcType(), "OcTypeEnum")) &&
|
StringUtil.isNotBlank(tbAttResRsbSpillway.getOcPower())) {
|
rsbOc = String.join(",", list);
|
}
|
|
}
|
|
|
tableMap.put("rsbSpillwayType", rsbSpillwayType);
|
tableMap.put("coveLength", coveLength);
|
tableMap.put("rsbThresholdElevation", StringUtils.isEmpty(rsbThresholdElevation)?rsbThresholdElevation:String.format("%.2f",Double.parseDouble(rsbThresholdElevation)));
|
tableMap.put("rsbExportElevation", rsbExportElevation);
|
tableMap.put("rsbSection", rsbSection);
|
tableMap.put("checkFlDisCharge", checkFlDisCharge);
|
tableMap.put("rsbWorkingGateType", rsbWorkingGateType);
|
tableMap.put("rsbOc", rsbOc);
|
|
//输水
|
String aqueductType = "";
|
String aqueductLength = "";
|
String thresholdElevation = "";
|
String exportElevation = "";
|
String deliverSection = "";
|
String designFlow = "";
|
String workingGateType = "";
|
String deliverOc = "";
|
|
|
tableMap.put("输水建筑物名称1", "输水建筑物");
|
tableMap.put("输水建筑物名称2", "输水建筑物");
|
tableMap.put("输水建筑物名称3", "输水建筑物");
|
|
for (int i = 0; i < tbAttResWaterDeliveryList.size(); i++) {
|
TbAttResWaterDelivery tbAttResWaterDelivery = tbAttResWaterDeliveryList.get(i);
|
|
aqueductType = convertType(tbAttResWaterDelivery.getAqueductType(), "AqueductTypeEnum");
|
aqueductLength = isNullObject(tbAttResWaterDelivery.getAqueductLength());
|
thresholdElevation = isNullObject(tbAttResWaterDelivery.getThresholdElevation());
|
exportElevation = isNullObject(tbAttResWaterDelivery.getExportElevation());
|
if (null != tbAttResWaterDelivery.getSectionHigh())
|
deliverSection = StringUtil.format("{}×{}", tbAttResWaterDelivery.getSectionWide(), tbAttResWaterDelivery.getSectionHigh());
|
else
|
deliverSection = StringUtil.format("φ{}", tbAttResWaterDelivery.getSectionWide());
|
designFlow = isNullObject(tbAttResWaterDelivery.getDesignFlow());
|
workingGateType = convertType(tbAttResWaterDelivery.getWorkingGateType(), "RsbWorkingGateEnum");
|
List<String> list = new ArrayList<>();
|
list.add(convertType(tbAttResWaterDelivery.getOcType(), "SpillwayHoleType"));
|
list.add(convertType(tbAttResWaterDelivery.getOcPower(), "SpillwayHoleType"));
|
deliverOc = String.join(",", list);
|
|
if (i == 0) {
|
tableMap.put("输水建筑物名称1", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
|
tableMap.put("aqueductType1", aqueductType);
|
tableMap.put("aqueductLength1", aqueductLength);
|
tableMap.put("thresholdElevation1", StringUtils.isEmpty(thresholdElevation)?thresholdElevation:String.format("%.2f",Double.parseDouble(thresholdElevation)));
|
tableMap.put("exportElevation1", exportElevation);
|
tableMap.put("deliverSection1", deliverSection);
|
tableMap.put("designFlow1", designFlow);
|
tableMap.put("workingGateType1", workingGateType);
|
tableMap.put("deliverOc1", deliverOc);
|
}
|
else if (i == 1) {
|
tableMap.put("输水建筑物名称2", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
|
tableMap.put("aqueductType2", aqueductType);
|
tableMap.put("aqueductLength2", aqueductLength);
|
tableMap.put("thresholdElevation2", StringUtils.isEmpty(thresholdElevation)?thresholdElevation:String.format("%.2f",Double.parseDouble(thresholdElevation)));
|
tableMap.put("exportElevation2", exportElevation);
|
tableMap.put("deliverSection2", deliverSection);
|
tableMap.put("designFlow2", designFlow);
|
tableMap.put("workingGateType2", workingGateType);
|
tableMap.put("deliverOc2", deliverOc);
|
}
|
else if (i == 3) {
|
tableMap.put("输水建筑物名称3", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
|
tableMap.put("aqueductType3", aqueductType);
|
tableMap.put("aqueductLength3", aqueductLength);
|
tableMap.put("thresholdElevation3", StringUtils.isEmpty(thresholdElevation)?thresholdElevation:String.format("%.2f",Double.parseDouble(thresholdElevation)));
|
tableMap.put("exportElevation3", exportElevation);
|
tableMap.put("deliverSection3", deliverSection);
|
tableMap.put("designFlow3", designFlow);
|
tableMap.put("workingGateType3", workingGateType);
|
tableMap.put("deliverOc3", deliverOc);
|
}
|
}
|
|
// if (tbAttResWaterDeliveryList != null && tbAttResWaterDeliveryList.size() > 0 && tbAttResWaterDeliveryList.get(0).getNum() > 0) {
|
// //取设计流量大的进行描述 2024-07-18取消,修改为展示3个列表 ,没有空着
|
//// List<TbAttResWaterDelivery> sortList = tbAttResWaterDeliveryList.stream().sorted((a, b) -> b.getDesignFlow().compareTo(a.getDesignFlow())).collect(Collectors.toList());
|
//// List<TbAttResWaterDelivery> sortList =
|
//// tbAttResWaterDeliveryList.stream()
|
//// .sorted((a, b) -> {
|
//// Optional<Double> flowA = Optional.ofNullable(a.getDesignFlow());
|
//// Optional<Double> flowB = Optional.ofNullable(b.getDesignFlow());
|
//// return flowA.isPresent() && flowB.isPresent() ? flowA.get().compareTo(flowB.get()) : (flowA.isPresent() ? 1 : (flowB.isPresent() ? -1 : 0));
|
//// })
|
//// .collect(Collectors.toList());
|
//
|
// TbAttResWaterDelivery tbAttResWaterDelivery = tbAttResWaterDeliveryList.get(0);
|
//
|
// aqueductType = convertType(tbAttResWaterDelivery.getAqueductType(), "AqueductTypeEnum");
|
// aqueductLength = isNullObject(tbAttResWaterDelivery.getAqueductLength());
|
// thresholdElevation = isNullObject(tbAttResWaterDelivery.getThresholdElevation());
|
// exportElevation = isNullObject(tbAttResWaterDelivery.getExportElevation());
|
// deliverSection = StringUtil.format("{}×{}", tbAttResWaterDelivery.getSectionWide(), tbAttResWaterDelivery.getSectionHigh());
|
// designFlow = isNullObject(tbAttResWaterDelivery.getDesignFlow());
|
// workingGateType = tbAttResWaterDelivery.getWorkingGateType();
|
// List<String> list = new ArrayList<>();
|
// list.add(tbAttResWaterDelivery.getOcType());
|
// list.add(tbAttResWaterDelivery.getOcPower());
|
// deliverOc = String.join(",", list);
|
//
|
// tableMap.put("输水建筑物名称1", StringUtil.isBlank(tbAttResWaterDelivery.getName())?"输水建筑物":tbAttResWaterDelivery.getName());
|
//
|
// }
|
|
//水电站
|
String plantLayoutType = "";
|
String installedCapacity = "";
|
String yearAvgHour = "";
|
//当电站列表不为空 且 电站列表数量大于0 且num大于0 -- 2024-07-18修改,展示多个
|
// if (tbAttResPowerStationList != null && tbAttResPowerStationList.size() > 0 && tbAttResPowerStationList.get(0).getNum()!=null && tbAttResPowerStationList.get(0).getNum() > 0) {
|
// TbAttResPowerStation tbAttResPowerStation = tbAttResPowerStationList.get(0);
|
//
|
// //取第一个电站
|
// plantLayoutType = PlantLayoutTypeEnum.find(tbAttResPowerStation.getPlantLayoutType()).getLabel();
|
// installedCapacity = isNullObject(tbAttResPowerStation.getInstalledCapacity());
|
// yearAvgHour = isNullObject(tbAttResPowerStation.getYearAvgHour());
|
// }
|
|
for (int i=0;i < tbAttResPowerStationList.size(); i++) {
|
TbAttResPowerStation tbAttResPowerStation = tbAttResPowerStationList.get(i);
|
if (StringUtil.isBlank(plantLayoutType)) {
|
plantLayoutType = PlantLayoutTypeEnum.find(tbAttResPowerStation.getPlantLayoutType()).getLabel();
|
} else {
|
plantLayoutType = plantLayoutType + "、" + PlantLayoutTypeEnum.find(tbAttResPowerStation.getPlantLayoutType()).getLabel();
|
}
|
|
if (StringUtil.isBlank(installedCapacity)) {
|
installedCapacity = WordUtil.removeTrailingZero(isNullObject(tbAttResPowerStation.getInstalledCapacity()));
|
} else {
|
installedCapacity = installedCapacity + "+" + WordUtil.removeTrailingZero(isNullObject(tbAttResPowerStation.getInstalledCapacity()));
|
}
|
|
if (StringUtil.isBlank(yearAvgHour)) {
|
yearAvgHour = WordUtil.removeTrailingZero(isNullObject(tbAttResPowerStation.getYearAvgHour()));
|
} else {
|
yearAvgHour = yearAvgHour + "、" + WordUtil.removeTrailingZero(isNullObject(tbAttResPowerStation.getYearAvgHour()));
|
}
|
}
|
|
tableMap.put("plantLayoutType", plantLayoutType);
|
tableMap.put("installedCapacity", !installedCapacity.equals("0")?installedCapacity:"");
|
tableMap.put("yearAvgHour", !yearAvgHour.equals("0")?yearAvgHour:"");
|
|
//水库效益
|
List<String> protectList = new ArrayList<>();
|
|
if (tbAttResEngBene!=null &&!tbAttResEngBene.getCity().equals("无") && StringUtil.isNotBlank(tbAttResEngBene.getCity())) {
|
protectList.add(tbAttResEngBene.getCity());
|
|
}
|
if (tbAttResEngBene!=null &&!tbAttResEngBene.getTown().equals("无") && StringUtil.isNotBlank(tbAttResEngBene.getTown())) {
|
protectList.add(tbAttResEngBene.getTown());
|
}
|
if (tbAttResEngBene!=null &&!tbAttResEngBene.getRailway().equals("无") && StringUtil.isNotBlank(tbAttResEngBene.getRailway())) {
|
protectList.add(tbAttResEngBene.getRailway());
|
}
|
|
if (tbAttResEngBene!=null &&!tbAttResEngBene.getHighway().equals("无") && StringUtil.isNotBlank(tbAttResEngBene.getHighway())) {
|
protectList.add(tbAttResEngBene.getHighway());
|
}
|
|
if (tbAttResEngBene!=null &&!tbAttResEngBene.getImportCommunication().equals("无") && StringUtil.isNotBlank(tbAttResEngBene.getImportCommunication())) {
|
protectList.add(tbAttResEngBene.getImportCommunication());
|
}
|
|
if (tbAttResEngBene!=null &&!tbAttResEngBene.getImportFactory().equals("无") && StringUtil.isNotBlank(tbAttResEngBene.getImportFactory())) {
|
protectList.add(tbAttResEngBene.getImportFactory());
|
}
|
|
if (tbAttResEngBene!=null &&!tbAttResEngBene.getImportOtherFac().equals("无") && StringUtil.isNotBlank(tbAttResEngBene.getImportOtherFac())) {
|
protectList.add(tbAttResEngBene.getImportOtherFac());
|
}
|
//只留前四个
|
if (protectList.size()>=4){
|
List<String> subList = protectList.subList(0, 4);
|
tableMap.put("protect", String.join("、", subList));
|
|
}else {
|
tableMap.put("protect", String.join("、", protectList));
|
}
|
double person = 0;
|
if (tbAttResEngBene !=null && tbAttResEngBene.getFlControlPerson() != null && tbAttResEngBene.getFlControlPerson() > 0 ) {
|
person = tbAttResEngBene.getFlControlPerson() / 10000.0;
|
tableMap.put("flControlPerson", WordUtil.removeTrailingZero(String.format("%.2f", person)));
|
} else {
|
tableMap.put("flControlPerson", "");
|
}
|
tableMap.put("flControlLand", tbAttResEngBene==null?"":tbAttResEngBene.getFlControlLand()==null || tbAttResEngBene.getFlControlLand() <= 0?"":
|
WordUtil.removeTrailingZero(String.format("%.2f", tbAttResEngBene.getFlControlLand() / 10000)));
|
tableMap.put("irrObject", tbAttResEngBene==null?"":tbAttResEngBene.getIrrObject()==null?"":tbAttResEngBene.getIrrObject());
|
tableMap.put("moyearIrrAvg", tbAttResEngBene==null?"":tbAttResEngBene.getMoyearIrrAvg() == null?"":
|
WordUtil.removeTrailingZero(tbAttResEngBene.getMoyearIrrAvg().toString()));
|
tableMap.put("desIrrArea", tbAttResEngBene==null?"":tbAttResEngBene.getDesIrrArea() == null ?"":
|
WordUtil.removeTrailingZero(String.format("%.2f", tbAttResEngBene.getDesIrrArea() / 10000)));
|
tableMap.put("checIrrArea", tbAttResEngBene==null?"":tbAttResEngBene.getChecIrrArea()==null?"":
|
WordUtil.removeTrailingZero(String.format("%.2f", tbAttResEngBene.getChecIrrArea() / 10000)));
|
tableMap.put("supplyObject", tbAttResEngBene==null?"":tbAttResEngBene.getSupplyObject()==null?"":
|
tbAttResEngBene.getSupplyObject());
|
|
// Double sup = 0.0;
|
// String supS = "";
|
// if (tbAttResEngBene!=null && StringUtil.isNotBlank(tbAttResEngBene.getSupplyPopulation())) {
|
// sup = Double.parseDouble(tbAttResEngBene.getSupplyPopulation());
|
// supS = String.format("%.2f", sup);
|
// }
|
|
|
tableMap.put("supplyPopulation", tbAttResEngBene==null?"":tbAttResEngBene.getSupplyPopulation()==null?"":tbAttResEngBene.getSupplyPopulation());
|
tableMap.put("moyearSupplyAvg", tbAttResEngBene==null?"":tbAttResEngBene.getMoyearSupplyAvg()==null?"":tbAttResEngBene.getMoyearSupplyAvg());
|
tableMap.put("moyearPowerAvg", tbAttResEngBene==null?"":tbAttResEngBene.getMoyearPowerAvg()==null?"":tbAttResEngBene.getMoyearPowerAvg());
|
tableMap.put("ecologicalFlow", tbAttResEngBene==null?"":tbAttResEngBene.getEcologicalFlow()==null?"":tbAttResEngBene.getEcologicalFlow());
|
|
//工程管理
|
tableMap.put("munitName", tbAttResMgrSysB==null?"":tbAttResMgrSysB.getMUnitName()==null?"":tbAttResMgrSysB.getMUnitName());
|
tableMap.put("cunitName", tbAttResMgrSysB==null?"":tbAttResMgrSysB.getCUnitName()==null?"":tbAttResMgrSysB.getCUnitName());
|
tableMap.put("mUnitNature", tbAttResMgrSysB==null?"":tbAttResMgrSysB.getMUnitNature()==null?"":tbAttResMgrSysB.getMUnitNature());
|
tableMap.put("mUnitPersonNumber", tbAttResMgrSysB==null?"":tbAttResMgrSysB.getMUnitPersonNumber()==null?"":tbAttResMgrSysB.getMUnitPersonNumber());
|
tableMap.put("personEconomicSource", tbAttResMgrSysB==null?"":tbAttResMgrSysB.getPersonEconomicSource()==null?"":tbAttResMgrSysB.getPersonEconomicSource());
|
tableMap.put("maintenanceEconomicSource", tbAttResMgrSysB==null?"":tbAttResMgrSysB.getMaintenanceEconomicSource()==null?"":tbAttResMgrSysB.getMaintenanceEconomicSource());
|
|
//工程运用
|
tableMap.put("resMaxStag", tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMaxStag());
|
tableMap.put("resMinStag", tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMinStag());
|
tableMap.put("resMaxInFlow", tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMaxInFlow());
|
tableMap.put("resMaxOutFlow", tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMaxOutFlow());
|
//new SimpleDateFormat("yyyy-MM-dd").format(tbAttResProjectUtilize.getResMaxStagDate())
|
|
String resMaxStagDate = tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMaxStagDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMaxStagDate()) : "";
|
String resMinStagDate = tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMinStagDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMinStagDate()) : "";
|
String resMaxInFlowDate = tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMaxInFlowDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMaxInFlowDate()) : "";
|
String resMaxOutFlowDate = tbAttResProjectUtilize == null? "" :tbAttResProjectUtilize.getResMaxOutFlowDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMaxOutFlowDate()) : "";
|
tableMap.put("resMaxStagDate", resMaxStagDate);
|
tableMap.put("resMinStagDate", resMinStagDate);
|
tableMap.put("resMaxInFlowDate", resMaxInFlowDate);
|
tableMap.put("resMaxOutFlowDate", resMaxOutFlowDate);
|
|
//信息化建设
|
tableMap.put("isRain", InfoBuildingEnum.find(tbAttResInformationProject.getIsRain()).getLabel());
|
tableMap.put("isRsvr", InfoBuildingEnum.find(tbAttResInformationProject.getIsRsvr()).getLabel());
|
tableMap.put("isGnssHorizontal", InfoBuildingEnum.find(tbAttResInformationProject.getIsGnssHorizontal()).getLabel());
|
tableMap.put("isSppr", InfoBuildingEnum.find(tbAttResInformationProject.getIsSppr()).getLabel());
|
tableMap.put("isSpqnmp", InfoBuildingEnum.find(tbAttResInformationProject.getIsSpqnmp()).getLabel());
|
tableMap.put("isWmst", InfoBuildingEnum.find(tbAttResInformationProject.getIsWmst()).getLabel());
|
tableMap.put("isTermites", InfoBuildingEnum.find(tbAttResInformationProject.getIsTermites()).getLabel());
|
//
|
String tm = tbAttResSafetyMonitor==null?"":tbAttResSafetyMonitor.getSafetyAppraisalTime() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResSafetyMonitor.getSafetyAppraisalTime()) : "";
|
tableMap.put("safetyAppraisalTime", tm);
|
tableMap.put("safetyAppraisalResult", tbAttResSafetyMonitor==null?"":tbAttResSafetyMonitor.getSafetyAppraisalResult()==null?"":tbAttResSafetyMonitor.getSafetyAppraisalResult()
|
.replace("1","一类坝").replace("2","二类坝").replace("3","三类坝"));
|
|
|
return tableMap;
|
}
|
|
|
@Override
|
public List<TotalInfo> getTotalInfo(String isShow) {
|
JSONObject ztData = this.getZtData("&is_show="+isShow, RIBAO_SHEET1_TOTAL_URL);
|
JSONArray data = ztData.getJSONArray("data");
|
List<TotalInfo> list = data.toJavaList(TotalInfo.class);
|
return list;
|
}
|
|
@Override
|
public List<TotalInfo> getTotalOverInfo(String isShow, HashMap<String, String> map) {
|
|
String params = "&is_show=" + isShow;
|
if (map != null){
|
for (Map.Entry<String, String> entry : map.entrySet()){
|
String key=entry.getKey();
|
String vlaue = entry.getValue();
|
|
String p = StringUtil.format("&{}={}",key,vlaue);
|
params +=p;
|
}
|
}
|
|
JSONObject ztData = this.getZtData(params, RIBAO_SHEET1_OVER_NORM_POOL_STAG);
|
JSONArray data = ztData.getJSONArray("data");
|
List<TotalInfo> list = data.toJavaList(TotalInfo.class);
|
return list;
|
|
}
|
|
@Override
|
public void getReservoirRainfallForecast(List<String> dayIndexList) {
|
List<StResRainfall> stResRainfalls = new ArrayList<>();
|
for (String dayIndex : dayIndexList) {
|
List<AttResWithRainfall> attResByRainfall = attResBase.getAttResByRainfall(null, null, dayIndex);
|
for (AttResWithRainfall attResWithRainfall : attResByRainfall) {
|
StResRainfall stResRainfall = new StResRainfall();
|
stResRainfall.setId(UUID.randomUUID().toString().replaceAll("-", ""));
|
stResRainfall.setResCd(attResWithRainfall.getCode());
|
stResRainfall.setDrp(attResWithRainfall.getRainfall());
|
stResRainfall.setFileName(attResWithRainfall.getFileName());
|
stResRainfall.setDayIndex(dayIndex);
|
stResRainfall.setCreateTime(new Date());
|
stResRainfalls.add(stResRainfall);
|
}
|
}
|
if (!stResRainfalls.isEmpty()) {
|
stResRainfallService.remove(Wrappers.<StResRainfall>query().lambda());
|
stResRainfallService.saveBatch(stResRainfalls);
|
}
|
}
|
|
|
@Override
|
public List<DzkInfo> getDzkInfo(String isShow) {
|
JSONObject ztData = this.getZtData("&is_show="+isShow, RIBAO_SHEET2_ZDX_URL);
|
JSONArray data = ztData.getJSONArray("data");
|
List<DzkInfo> list = data.toJavaList(DzkInfo.class);
|
return list;
|
}
|
|
@Override
|
public List<OverDetail> getOverDetailInfo(String isShow) {
|
JSONObject ztData = this.getZtData("&is_show="+isShow, RIBAO_SHEET3_OVER_STAG_LIST_URL);
|
JSONArray data = ztData.getJSONArray("data");
|
List<OverDetail> list = data.toJavaList(OverDetail.class);
|
return list;
|
}
|
|
@Override
|
public List<SzInfo> getSzInfo(String isShow) {
|
JSONObject ztData = this.getZtData("?is_show="+isShow, SZ_INFO);
|
JSONArray data = ztData.getJSONArray("data");
|
List<SzInfo> list = data.toJavaList(SzInfo.class);
|
return list;
|
}
|
|
@Override
|
public List<StationExport> getWaterLevelInfo(HttpServletResponse response, StationParams params, String exportFunc) {
|
String urlParam = buildParams(params);
|
String url = WATER_LEVEL_API + urlParam;
|
JSONObject ztData = getZtData(null, url);
|
JSONObject result = ztData.getJSONObject("data");
|
JSONArray data = result.getJSONArray("data");
|
List<ZtResultInfo> list = data.toJavaList(ZtResultInfo.class);
|
|
List<StationExport> exportList = new ArrayList<>();
|
//按水库主站导出
|
if (exportFunc.equals("reservoir")) {
|
exportList = exportByReservoir(list);
|
} else if (exportFunc.equals("station")) {
|
//按测站导出
|
exportList = exportByStation(list);
|
}
|
return exportList;
|
}
|
|
/**
|
* 站点导出
|
*
|
* @param list
|
* @return
|
*/
|
private List<StationExport> exportByStation(List<ZtResultInfo> list) {
|
List<StationExport> exportList = new ArrayList<>();
|
|
list.forEach(ztResultInfo -> {
|
StationExport stationExport = new StationExport();
|
|
if (ztResultInfo.getChildren() == null || ztResultInfo.getChildren().size() == 0) {
|
return;
|
|
} else {
|
//获取子集中所有站点的数据
|
ztResultInfo.getChildren().forEach(e -> {
|
StationExport stationExport1 = buildStationExportWater(e);
|
exportList.add(stationExport1);
|
});
|
}
|
});
|
|
return exportList;
|
|
}
|
|
/**
|
* 水库导出
|
*
|
* @param list
|
* @return
|
*/
|
private List<StationExport> exportByReservoir(List<ZtResultInfo> list) {
|
|
List<StationExport> exportList = new ArrayList<>();
|
|
list.forEach(ztResultInfo -> {
|
StationExport stationExport = new StationExport();
|
|
if (ztResultInfo.getChildren() == null || ztResultInfo.getChildren().size() == 0) {
|
stationExport.setRes_cd(ztResultInfo.getRes_cd());
|
stationExport.setRes_nm(ztResultInfo.getRes_nm());
|
|
} else {
|
//获取主站的站点
|
List<HashMap<String, Object>> mainList = ztResultInfo.getChildren().stream().filter(e -> isNullValue("is_main_rsvr", e).equals(1)).collect(Collectors.toList());
|
if (mainList != null && mainList.size() > 0) {
|
//获取主站数据
|
stationExport = buildStationExportWater(mainList.get(0));
|
} else {
|
//获取子集中第一个站点的数据
|
stationExport = buildStationExportWater(ztResultInfo.getChildren().get(0));
|
}
|
}
|
|
exportList.add(stationExport);
|
});
|
|
return exportList;
|
}
|
|
private StationExport buildStationExportWater(HashMap<String, Object> map) {
|
StationExport stationExport = new StationExport();
|
|
stationExport.setRes_nm(isNullValue("res_nm", map));
|
stationExport.setRes_reg_code(isNullValue("res_reg_code", map));
|
stationExport.setRes_cd(isNullValue("res_cd", map));
|
stationExport.setEng_scal(isNullValue("eng_scal", map));
|
stationExport.setCity_nm(isNullValue("city_nm", map));
|
stationExport.setCounty_nm(isNullValue("county_nm", map));
|
stationExport.setTown_nm(isNullValue("town_nm", map));
|
stationExport.setSt_nm(isNullValue("st_nm", map));
|
stationExport.setFlag(isNullValue("flag", map));
|
|
String stationStatus = isNullValue("station_status", map);
|
|
String stationStatusText = "";
|
if (stationStatus.equals("1")) {
|
stationStatusText = "在线";
|
} else if (stationStatus.equals("0")) {
|
stationStatusText = "离线";
|
}
|
stationExport.setStation_status_text(stationStatusText);
|
|
stationExport.setManufacturer(isNullValue("manufacturer", map));
|
|
//应报
|
String shouldCnt = isNullValue("should_cnt", map);
|
//已报
|
String actualCnt = isNullValue("actual_cnt", map);
|
|
String shouldReportAndReport = StringUtil.format("{}/{}", shouldCnt, actualCnt);
|
stationExport.setShouldReportAndReport(shouldReportAndReport);
|
//到报率
|
double reportRate = Double.parseDouble(isNullValue("report_rate", map));
|
String rate = "0";
|
if (reportRate * 100 == 100) {
|
rate = "100%";
|
} else if (reportRate > 0) {
|
rate = String.format("%.2f", reportRate * 100) + "%";
|
}
|
stationExport.setRate(rate);
|
return stationExport;
|
}
|
|
|
@Override
|
public List<StationExport> getRainfallInfo(HttpServletResponse response, StationParams params, String exportFunc) {
|
String urlParam = buildParams(params);
|
String url = RAIN_FALL_API + urlParam;
|
JSONObject ztData = getZtData(null, url);
|
JSONObject result = ztData.getJSONObject("data");
|
JSONArray data = result.getJSONArray("data");
|
List<ZtResultInfo> list = data.toJavaList(ZtResultInfo.class);
|
|
List<StationExport> exportList = new ArrayList<>();
|
|
//按水库主站导出
|
if (exportFunc.equals("reservoir")) {
|
exportList = exportByReservoirRain(list);
|
} else if (exportFunc.equals("station")) {
|
//按测站导出
|
exportList = exportByStationRain(list);
|
}
|
|
return exportList;
|
}
|
|
private List<StationExport> exportByStationRain(List<ZtResultInfo> list) {
|
List<StationExport> exportList = new ArrayList<>();
|
list.forEach(ztResultInfo -> {
|
StationExport stationExport = new StationExport();
|
|
if (ztResultInfo.getChildren() == null || ztResultInfo.getChildren().size() == 0) {
|
return;
|
} else {
|
//获取子集中所有站点的数据
|
ztResultInfo.getChildren().forEach(e -> {
|
StationExport stationExport1 = buildStationExportRain(e, ztResultInfo);
|
exportList.add(stationExport1);
|
});
|
}
|
});
|
|
return exportList;
|
}
|
|
private List<StationExport> exportByReservoirRain(List<ZtResultInfo> list) {
|
List<StationExport> exportList = new ArrayList<>();
|
|
list.forEach(ztResultInfo -> {
|
StationExport stationExport = new StationExport();
|
|
if (ztResultInfo.getChildren() == null || ztResultInfo.getChildren().size() == 0) {
|
stationExport.setRes_cd(ztResultInfo.getRes_cd());
|
stationExport.setRes_nm(ztResultInfo.getRes_nm());
|
stationExport.setRes_reg_code(ztResultInfo.getRes_reg_cd());
|
stationExport.setEng_scal(ztResultInfo.getEng_scal());
|
stationExport.setCity_nm(ztResultInfo.getCity_nm());
|
stationExport.setCounty_nm(ztResultInfo.getCounty_nm());
|
stationExport.setTown_nm(ztResultInfo.getTown_nm());
|
|
} else {
|
//获取主站的站点
|
List<HashMap<String, Object>> mainList = ztResultInfo.getChildren().stream().filter(e -> isNullValue("is_main_rsvr", e).equals(1)).collect(Collectors.toList());
|
if (mainList != null && mainList.size() > 0) {
|
//获取主站数据
|
stationExport = buildStationExportRain(mainList.get(0), ztResultInfo);
|
} else {
|
//获取子集中第一个站点的数据
|
stationExport = buildStationExportRain(ztResultInfo.getChildren().get(0), ztResultInfo);
|
}
|
}
|
|
exportList.add(stationExport);
|
});
|
|
return exportList;
|
}
|
|
private StationExport buildStationExportRain(HashMap<String, Object> map, ZtResultInfo ztResultInfo) {
|
|
StationExport stationExport = new StationExport();
|
|
stationExport.setRes_nm(ztResultInfo.getRes_nm());
|
stationExport.setRes_reg_code(ztResultInfo.getRes_reg_cd());
|
stationExport.setRes_cd(ztResultInfo.getRes_cd());
|
stationExport.setEng_scal(ztResultInfo.getEng_scal());
|
stationExport.setCity_nm(ztResultInfo.getCity_nm());
|
stationExport.setCounty_nm(ztResultInfo.getCounty_nm());
|
stationExport.setTown_nm(ztResultInfo.getTown_nm());
|
stationExport.setSt_nm(isNullValue("st_nm", map));
|
stationExport.setFlag(isNullValue("flag", map));
|
|
String stationStatus = isNullValue("station_status", map);
|
|
String stationStatusText = "";
|
if (stationStatus.equals("1")) {
|
stationStatusText = "在线";
|
} else if (stationStatus.equals("0")) {
|
stationStatusText = "离线";
|
}
|
stationExport.setStation_status_text(stationStatusText);
|
|
stationExport.setManufacturer(isNullValue("manufacturer", map));
|
|
//应报
|
String shouldCnt = isNullValue("should_cnt", map);
|
//已报
|
String actualCnt = isNullValue("actual_cnt", map);
|
|
String shouldReportAndReport = StringUtil.format("{}/{}", shouldCnt, actualCnt);
|
stationExport.setShouldReportAndReport(shouldReportAndReport);
|
//到报率
|
double reportRate = Double.parseDouble(isNullValue("report_rate", map));
|
String rate = "0";
|
if (reportRate * 100 == 100) {
|
rate = "100%";
|
} else if (reportRate > 0) {
|
rate = String.format("%.2f", reportRate * 100) + "%";
|
}
|
stationExport.setRate(rate);
|
return stationExport;
|
|
|
}
|
|
|
@Override
|
public List<StationExport> getVideoStationInfo(HttpServletResponse response, StationParams params, String exportFunc) {
|
|
String urlParam = buildParams(params);
|
String url = VIDEO_STATION_API + urlParam;
|
JSONObject ztData = getZtData(null, url);
|
JSONObject result = ztData.getJSONObject("data");
|
JSONArray data = result.getJSONArray("data");
|
List<ZtResultInfo> list = data.toJavaList(ZtResultInfo.class);
|
|
List<StationExport> exportList = new ArrayList<>();
|
|
//按水库主站导出
|
if (exportFunc.equals("reservoir")) {
|
exportList = exportByReservoirVideo(list);
|
} else if (exportFunc.equals("station")) {
|
//按测站导出
|
exportList = exportByStationVideo(list);
|
}
|
|
return exportList;
|
}
|
|
private List<StationExport> exportByStationVideo(List<ZtResultInfo> list) {
|
List<StationExport> exportList = new ArrayList<>();
|
list.forEach(ztResultInfo -> {
|
StationExport stationExport = new StationExport();
|
|
if (ztResultInfo.getChildren() == null || ztResultInfo.getChildren().size() == 0) {
|
return;
|
} else {
|
//获取子集中所有站点的数据
|
ztResultInfo.getChildren().forEach(e -> {
|
StationExport stationExport1 = buildStationExportVideo(e, ztResultInfo);
|
exportList.add(stationExport1);
|
});
|
}
|
});
|
|
return exportList;
|
}
|
|
private List<StationExport> exportByReservoirVideo(List<ZtResultInfo> list) {
|
return null;
|
}
|
|
private StationExport buildStationExportVideo(HashMap<String, Object> map, ZtResultInfo ztResultInfo) {
|
|
StationExport stationExport = new StationExport();
|
|
stationExport.setRes_nm(ztResultInfo.getName());
|
stationExport.setRes_reg_code(isNullValue("res_reg_code", map));
|
stationExport.setRes_cd(ztResultInfo.getRes_guid());
|
stationExport.setEng_scal(isNullValue("eng_scal", map));
|
stationExport.setCity_nm(ztResultInfo.getCity_nm());
|
stationExport.setCounty_nm(ztResultInfo.getCounty_nm());
|
stationExport.setTown_nm(ztResultInfo.getTown_nm());
|
stationExport.setSt_nm(isNullValue("st_nm", map));
|
stationExport.setFlag(isNullValue("flag", map));
|
|
|
stationExport.setStation_status_text(isNullValue("online", map));
|
stationExport.setManufacturer(isNullValue("manufacturer", map));
|
|
return stationExport;
|
}
|
|
|
@Override
|
public List<StationExport> getImageStation(HttpServletResponse response, StationParams params, String exportFunc) {
|
|
String urlParam = buildParams(params);
|
String url = IMAGE_STATION_API + urlParam;
|
JSONObject ztData = getZtData(null, url);
|
JSONObject result = ztData.getJSONObject("data");
|
JSONArray data = result.getJSONArray("data");
|
List<ZtResultInfo> list = data.toJavaList(ZtResultInfo.class);
|
|
List<StationExport> exportList = new ArrayList<>();
|
|
//按水库主站导出
|
if (exportFunc.equals("reservoir")) {
|
exportList = exportByReservoirImage(list);
|
} else if (exportFunc.equals("station")) {
|
//按测站导出
|
exportList = exportByStationImage(list);
|
}
|
|
return exportList;
|
}
|
|
|
private List<StationExport> exportByStationImage(List<ZtResultInfo> list) {
|
List<StationExport> exportList = new ArrayList<>();
|
|
list.forEach(ztResultInfo -> {
|
StationExport stationExport = new StationExport();
|
|
if (ztResultInfo.getChildren() == null || ztResultInfo.getChildren().size() == 0) {
|
return;
|
|
} else {
|
//获取子集中所有站点的数据
|
ztResultInfo.getChildren().forEach(e -> {
|
StationExport stationExport1 = buildStationExportImage(e, ztResultInfo);
|
exportList.add(stationExport1);
|
});
|
}
|
});
|
|
return exportList;
|
}
|
|
private List<StationExport> exportByReservoirImage(List<ZtResultInfo> list) {
|
List<StationExport> exportList = new ArrayList<>();
|
|
list.forEach(ztResultInfo -> {
|
StationExport stationExport = new StationExport();
|
|
if (ztResultInfo.getChildren() == null || ztResultInfo.getChildren().size() == 0) {
|
stationExport.setRes_cd(ztResultInfo.getRes_code());
|
stationExport.setRes_nm(ztResultInfo.getRes_nm());
|
stationExport.setCity_nm(ztResultInfo.getCity_nm());
|
stationExport.setCounty_nm(ztResultInfo.getCounty_nm());
|
stationExport.setTown_nm(ztResultInfo.getTown_nm());
|
} else {
|
//获取子集第一个
|
stationExport = buildStationExportImage(ztResultInfo.getChildren().get(0), ztResultInfo);
|
}
|
|
exportList.add(stationExport);
|
});
|
|
return exportList;
|
}
|
|
private StationExport buildStationExportImage(HashMap<String, Object> map, ZtResultInfo ztResultInfo) {
|
|
StationExport stationExport = new StationExport();
|
|
stationExport.setRes_nm(ztResultInfo.getRes_name());
|
stationExport.setRes_reg_code(isNullValue("res_reg_code", map));
|
stationExport.setRes_cd(ztResultInfo.getRes_code());
|
stationExport.setEng_scal(isNullValue("eng_scal", map));
|
stationExport.setCity_nm(ztResultInfo.getCity_nm());
|
stationExport.setCounty_nm(ztResultInfo.getCounty_nm());
|
stationExport.setTown_nm(ztResultInfo.getTown_nm());
|
stationExport.setSt_nm(isNullValue("st_nm", map));
|
stationExport.setFlag(isNullValue("flag", map));
|
|
String stationStatus = isNullValue("station_status", map);
|
|
String stationStatusText = "";
|
if (stationStatus.equals("1")) {
|
stationStatusText = "在线";
|
} else if (stationStatus.equals("0")) {
|
stationStatusText = "离线";
|
}
|
stationExport.setStation_status_text(stationStatusText);
|
|
stationExport.setManufacturer(isNullValue("manufacturer", map));
|
|
//应报
|
String shouldCnt = isNullValue("should_cnt", map);
|
//已报
|
String actualCnt = isNullValue("actual_cnt", map);
|
|
String shouldReportAndReport = StringUtil.format("{}/{}", shouldCnt, actualCnt);
|
stationExport.setShouldReportAndReport(shouldReportAndReport);
|
//到报率
|
double reportRate = Double.parseDouble(isNullValue("report_rate", map));
|
String rate = "0";
|
if (reportRate * 100 == 100) {
|
rate = "100%";
|
} else if (reportRate > 0) {
|
rate = String.format("%.2f", reportRate * 100) + "%";
|
}
|
stationExport.setRate(rate);
|
return stationExport;
|
}
|
|
|
@Override
|
public List<StationExport> getOsmotic(HttpServletResponse response, StationParams params, String exportFunc) {
|
return null;
|
}
|
|
|
private String isNullValue(String key, HashMap<String, Object> map) {
|
if (map.get(key) == null) {
|
return "";
|
} else {
|
return map.get(key).toString();
|
}
|
}
|
|
private String isNullObject(Object value) {
|
if (value != null) {
|
return value.toString();
|
} else {
|
return "";
|
}
|
}
|
|
|
private String convertType(String type, String enumName) {
|
if (StringUtil.isBlank(type)) {
|
return "";
|
}
|
|
String text = "";
|
|
List<String> typeList = Arrays.asList(type.split(","));
|
if (typeList.size() >0) {
|
String typeKey = typeList.get(0);
|
String explain = "";
|
if (typeList.size() > 1) {
|
explain = typeList.get(1);
|
}
|
//key值表示其他
|
if (typeKey.equals("9") || typeKey.equals("其他")) {
|
text = explain;
|
} else {
|
switch (enumName) {
|
case "AqueductTypeEnum":
|
text = AqueductTypeEnum.find(typeKey).getLabel();
|
break;
|
case "RsbWorkingGateEnum":
|
text = RsbWorkingGateEnum.find(typeKey).getLabel();
|
break;
|
case "OcTypeEnum":
|
text = OcTypeEnum.find(typeKey).getLabel();
|
break;
|
case "SpillwayHoleType":
|
text = typeKey;
|
break;
|
case "Explain":
|
text = typeKey;
|
break;
|
}
|
}
|
}
|
|
|
|
|
return text;
|
}
|
|
|
/**
|
* 调用接口获取中台数据
|
*/
|
public JSONObject getZtData(String params, String url) {
|
// 获取环境
|
String activeProfile = SpringContextUtil.getActiveProfile();
|
if (activeProfile.equals("dev")) {
|
url = ZtApiUrlConstant.url_prefix_dev + url + params;
|
}
|
if (activeProfile.equals("prod")) {
|
url = ZtApiUrlConstant.url_prefix_prod + url + params;
|
}
|
if (activeProfile.equals("test")) {
|
url = ZtApiUrlConstant.url_prefix_test + url + params;
|
}
|
|
log.info("请求url地址:{}", url);
|
//设置请求头
|
HttpHeaders headers = new HttpHeaders();
|
headers.add(ZtConfigConstant.header_key, ZtConfigConstant.header_value);
|
//封装请求头
|
HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<MultiValueMap<String, Object>>(headers);
|
try {
|
//有请求头,有参数请求
|
ResponseEntity<String> responseEntity =
|
restTemplate.exchange(url,
|
HttpMethod.GET,
|
formEntity,
|
String.class);
|
// Feature.IgnoreNotMatch 保留null值的属性
|
JSONObject jsonObject = JSON.parseObject(responseEntity.getBody(), Feature.IgnoreNotMatch);
|
// 返回
|
return jsonObject;
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
//根据参数对象构建url后的参数
|
private String buildParams(StationParams params) {
|
List<String> list = new ArrayList<>();
|
String text = "";
|
Class<? extends StationParams> clazz = params.getClass();
|
Arrays.stream(clazz.getDeclaredFields())
|
.peek(field -> field.setAccessible(true))
|
.forEach(field -> {
|
try {
|
Object value = field.get(params);
|
if (ObjectUtil.isNotEmpty(value)) {
|
list.add(StringUtil.format("{}={}", field.getName(), value.toString()));
|
}
|
|
} catch (IllegalAccessException e) {
|
e.printStackTrace();
|
}
|
});
|
|
|
text = String.join("&", list);
|
return text;
|
}
|
|
|
}
|