guoshilong
2023-11-28 665c12bf06aa28e285f835e2ec7cecc553a686ef
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
@@ -4,13 +4,11 @@
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
@@ -90,6 +88,9 @@
   //泄洪洞信息
   private String rsbSpillwayInfo;
   //电站信息
   private String powerStationInfo;
   private String buildingInfo;
@@ -166,7 +167,7 @@
      formatTbAttResBase(tbAttResBase);
      formatTbAttResStagChar(tbAttResStagChar);
      fomatMultiInfo(tbAttResWaterBlockList, sortList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList);
      formatMultiInfo(tbAttResWaterBlockList, sortList, resRsbNorsipiVerspiMionitorDetailByGuid, tbAttResPowerStationList);
      formatTbAttResWaterDelivery(sortList);
@@ -177,7 +178,7 @@
   }
   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");
@@ -218,33 +219,35 @@
      }
      //正常溢洪道
      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("非常溢洪道");
      }
@@ -257,6 +260,22 @@
      } 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;
   }
   /**
@@ -378,6 +397,11 @@
   private void formatTbAttResBase(TbAttResBase tbAttResBase) {
      if (tbAttResBase == null){
         return;
      }
      //水库名称
      this.resName = tbAttResBase.getName();
      //所在河流
@@ -424,6 +448,10 @@
   }
   private void formatTbAttResStagChar(TbAttResStagChar tbAttResStagChar) {
      if (tbAttResStagChar == null){
         return;
      }
      //调节性能
      this.adjustPropText = AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel();
@@ -467,17 +495,22 @@
   }
   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());
@@ -487,10 +520,13 @@
   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();
@@ -549,6 +585,10 @@
   }
   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();
@@ -563,6 +603,11 @@
   }
   private void formatTbAttResMgrSysB(TbAttResMgrSysB tbAttResMgrSysB) {
      if (tbAttResMgrSysB == null){
         return;
      }
      this.mUnitName = tbAttResMgrSysB.getMUnitName();
      this.mUnitNature = tbAttResMgrSysB.getMUnitNature();
      this.mUnitPersonNumber = tbAttResMgrSysB.getMUnitPersonNumber().toString();