| | |
| | | import cn.gistack.sm.sjztmd.word.enums.*; |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import lombok.Data; |
| | | import org.checkerframework.checker.formatter.qual.UnknownFormat; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Data |
| | |
| | | //泄洪洞信息 |
| | | private String rsbSpillwayInfo; |
| | | |
| | | //电站信息 |
| | | private String powerStationInfo; |
| | | |
| | | private String buildingInfo; |
| | | |
| | | |
| | |
| | | formatTbAttResBase(tbAttResBase); |
| | | formatTbAttResStagChar(tbAttResStagChar); |
| | | |
| | | fomatMultiInfo(tbAttResWaterBlockList, sortList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList); |
| | | formatMultiInfo(tbAttResWaterBlockList, sortList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList); |
| | | |
| | | |
| | | formatTbAttResWaterDelivery(sortList); |
| | |
| | | |
| | | } |
| | | |
| | | private void fomatMultiInfo(List<TbAttResWaterBlock> tbAttResWaterBlockList, List<TbAttResWaterDelivery> tbAttResWaterDeliveryList, Map<String, Object> resRsbNorsipiVerspiMionitorDetailByGuid, List<TbAttResPowerStation> tbAttResPowerStationList) { |
| | | private void formatMultiInfo(List<TbAttResWaterBlock> tbAttResWaterBlockList, List<TbAttResWaterDelivery> tbAttResWaterDeliveryList, Map<String, Object> resRsbNorsipiVerspiMionitorDetailByGuid, List<TbAttResPowerStation> tbAttResPowerStationList) { |
| | | |
| | | //正常溢洪道 |
| | | List<TbAttResRsbNorspi> tbAttResRsbNorspiList = (List<TbAttResRsbNorspi>) resRsbNorsipiVerspiMionitorDetailByGuid.get("tbAttResRsbNorspiList"); |
| | |
| | | } |
| | | |
| | | //正常溢洪道 |
| | | if (tbAttResRsbNorspiList.size() > 0) { |
| | | if (tbAttResRsbNorspiList.size()>0&&tbAttResRsbNorspiList.get(0).getNum() != null && tbAttResRsbNorspiList.get(0).getNum() > 0) { |
| | | buildingList.add("正常溢洪道"); |
| | | this.norspiInfo = ""; |
| | | this.norspiInfo = GenerateNorspiInfo(tbAttResRsbNorspiList.get(0)); |
| | | } |
| | | |
| | | //泄洪洞 |
| | | if (tbAttResRsbSpillwayList.size() > 0) { |
| | | if (tbAttResRsbSpillwayList.size()>0&&tbAttResRsbSpillwayList.get(0).getNum() != null && tbAttResRsbSpillwayList.get(0).getNum() > 0) { |
| | | buildingList.add("泄洪洞"); |
| | | this.rsbSpillwayInfo = ""; |
| | | this.rsbSpillwayInfo = GenerateRsbSpillwayInfo(tbAttResRsbSpillwayList.get(0)); |
| | | } |
| | | |
| | | //输水建筑物 |
| | | if (tbAttResWaterDeliveryList.size() > 0) { |
| | | if (tbAttResWaterDeliveryList.size()>0&&tbAttResWaterDeliveryList.get(0).getNum() != null && tbAttResWaterDeliveryList.get(0).getNum() > 0) { |
| | | tbAttResWaterDeliveryList.forEach(tbAttResWaterDelivery -> { |
| | | buildingList.add( convertType(tbAttResWaterDelivery.getAqueductType(),"AqueductTypeEnum")); |
| | | }); |
| | | } |
| | | |
| | | //电站 |
| | | if (tbAttResPowerStationList.size() > 0) { |
| | | if (tbAttResPowerStationList.size()>0&&tbAttResPowerStationList.get(0).getNum() != null && tbAttResPowerStationList.get(0).getNum() > 0) { |
| | | buildingList.add("水电站"); |
| | | this.powerStationInfo = ""; |
| | | this.powerStationInfo = GenerateStationPowerInfo(tbAttResPowerStationList.get(0)); |
| | | } |
| | | |
| | | //非常溢洪道 |
| | | if (tbAttResRsbVerspiList.size() > 0) { |
| | | if (tbAttResRsbVerspiList.size()>0&&tbAttResRsbVerspiList.get(0).getNum() != null && tbAttResRsbVerspiList.get(0).getNum() > 0) { |
| | | buildingList.add("非常溢洪道"); |
| | | } |
| | | |
| | |
| | | } else { |
| | | this.buildingInfo = this.subDamInfo + this.rsbSpillwayInfo; |
| | | } |
| | | } |
| | | |
| | | private String GenerateStationPowerInfo(TbAttResPowerStation stationPower) { |
| | | String text = ""; |
| | | /** |
| | | * 水电站(若有)为坝后XX式(厂房布置型式),装机容量XXkW,年均利用小时XXh |
| | | */ |
| | | |
| | | String type = PlantLayoutTypeEnum.find(stationPower.getPlantLayoutType()).getLabel(); |
| | | String capacity = String.valueOf(stationPower.getInstalledCapacity()); |
| | | String hour = String.valueOf(stationPower.getYearAvgHour()); |
| | | |
| | | text = StringUtil.format("水电站为{},装机容量{}kW,年均利用小时{}h。", |
| | | type,capacity,hour); |
| | | |
| | | return text; |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | |
| | | private void formatTbAttResBase(TbAttResBase tbAttResBase) { |
| | | |
| | | if (tbAttResBase == null){ |
| | | return; |
| | | } |
| | | |
| | | //水库名称 |
| | | this.resName = tbAttResBase.getName(); |
| | | //所在河流 |
| | |
| | | } |
| | | |
| | | private void formatTbAttResStagChar(TbAttResStagChar tbAttResStagChar) { |
| | | if (tbAttResStagChar == null){ |
| | | return; |
| | | } |
| | | |
| | | //调节性能 |
| | | this.adjustPropText = AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel(); |
| | | |
| | |
| | | } |
| | | |
| | | private void formatTbAttResWaterDelivery(List<TbAttResWaterDelivery> tbAttResWaterDeliveryList) { |
| | | if (tbAttResWaterDeliveryList.size() == 0){ |
| | | return; |
| | | } |
| | | |
| | | |
| | | TbAttResWaterDelivery tbAttResWaterDelivery = tbAttResWaterDeliveryList.get(0); |
| | | if (tbAttResWaterDeliveryList.size() > 1) { |
| | | this.aqueductType = "主要"; |
| | | this.aqueductType = "主要采用"; |
| | | } else { |
| | | this.aqueductType = ""; |
| | | this.aqueductType = "采用"; |
| | | } |
| | | |
| | | |
| | | this.aqueductType = this.aqueductType + convertType(tbAttResWaterDelivery.getAqueductType(),"AqueductTypeEnum"); |
| | | |
| | | this.section = tbAttResWaterDelivery.getSectionWide().toString() + "X" + tbAttResWaterDelivery.getSectionHigh().toString(); |
| | | this.section = isNull(tbAttResWaterDelivery.getSectionWide()) + "X" + isNull(tbAttResWaterDelivery.getSectionHigh()); |
| | | |
| | | this.thresholdElevation = isNull(tbAttResWaterDelivery.getThresholdElevation()); |
| | | |
| | |
| | | |
| | | |
| | | private void formatTbAttResEngBene(TbAttResEngBene tbAttResEngBene) { |
| | | if (tbAttResEngBene == null){ |
| | | return; |
| | | } |
| | | |
| | | this.protectCity = tbAttResEngBene.getCity(); |
| | | this.protectPersonLand = |
| | | StringUtil.format("{}万人口、{}万亩耕地", tbAttResEngBene.getFlControlPerson(), String.format("%.2f", tbAttResEngBene.getFlControlLand() / 1000)); |
| | | StringUtil.format("{}万人口、{}万亩耕地", String.format("%.2f",tbAttResEngBene.getFlControlPerson()/1000) , String.format("%.2f", tbAttResEngBene.getFlControlLand() / 1000)); |
| | | ////铁路、公路、管线、企业几个依次罗列,超过三个列出第二个后为“XX等”,后面不需罗列 |
| | | |
| | | String railway = tbAttResEngBene.getRailway(); |
| | |
| | | } |
| | | |
| | | private void formatTbAttResSafetyMonitor(TbAttResSafetyMonitor tbAttResSafetyMonitor) { |
| | | if (tbAttResSafetyMonitor ==null){ |
| | | return; |
| | | } |
| | | |
| | | String time = new SimpleDateFormat("yyyy年MM月").format(tbAttResSafetyMonitor.getSafetyAppraisalTime()); |
| | | String type = SafetyAppraisalTypeEnum.find(tbAttResSafetyMonitor.getSafetyAppraisalResult()).getLabel(); |
| | | String surveyProblem = tbAttResSafetyMonitor.getSurveyProblem(); |
| | |
| | | } |
| | | |
| | | private void formatTbAttResMgrSysB(TbAttResMgrSysB tbAttResMgrSysB) { |
| | | |
| | | if (tbAttResMgrSysB == null){ |
| | | return; |
| | | } |
| | | |
| | | this.mUnitName = tbAttResMgrSysB.getMUnitName(); |
| | | this.mUnitNature = tbAttResMgrSysB.getMUnitNature(); |
| | | this.mUnitPersonNumber = tbAttResMgrSysB.getMUnitPersonNumber().toString(); |