xieb
2023-12-11 cbe5c665174e41fb5f0f9660c8914c26848746fb
资料整编导出优化
2 files modified
289 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/service/impl/SjztmdServiceImpl.java 222 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java 67 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/service/impl/SjztmdServiceImpl.java
@@ -161,8 +161,8 @@
        tableMap.put("waterStorageTm", wst);
        tableMap.put("reinforceTm", tbAttResSafetyMonitor.getReinforceTm() != null? new SimpleDateFormat("YYYY年M月dd日").format(tbAttResSafetyMonitor.getReinforceTm()) : "");
        tableMap.put("completionTime", tbAttResSafetyMonitor.getCompletionTime() != null? new SimpleDateFormat("YYYY年M月dd日").format(tbAttResSafetyMonitor.getCompletionTime()) : "");
        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)) {
@@ -177,51 +177,51 @@
        }
        tableMap.put("resFunc", resFunc);
        //水文特征
        tableMap.put("conArea", tbAttResStagChar.getConArea());
        tableMap.put("moyearRainAvg", tbAttResStagChar.getMoyearRainAvg());
        tableMap.put("moyearFlAvg", tbAttResStagChar.getMoyearFlAvg());
        tableMap.put("downWacoSafeDisc", tbAttResStagChar.getDownWacoSafeDisc());
        tableMap.put("desFlSta", tbAttResStagChar.getDesFlSta());
        tableMap.put("desFlFlow", tbAttResStagChar.getDesFlFlow());
        tableMap.put("desFl1dayCap", tbAttResStagChar.getDesFl1dayCap());
        tableMap.put("desFl3dayCap", tbAttResStagChar.getDesFl3dayCap());
        tableMap.put("checFlSta", tbAttResStagChar.getChecFlSta());
        tableMap.put("checFlFlow", tbAttResStagChar.getChecFlFlow());
        tableMap.put("checFl1dayCap", tbAttResStagChar.getChecFl1dayCap());
        tableMap.put("checFl3dayCap", tbAttResStagChar.getChecFl3dayCap());
        tableMap.put("conArea", tbAttResStagChar==null?"":tbAttResStagChar.getConArea());
        tableMap.put("moyearRainAvg", tbAttResStagChar==null?"":tbAttResStagChar.getMoyearRainAvg());
        tableMap.put("moyearFlAvg", tbAttResStagChar==null?"":tbAttResStagChar.getMoyearFlAvg());
        tableMap.put("downWacoSafeDisc", tbAttResStagChar==null?"":tbAttResStagChar.getDownWacoSafeDisc());
        tableMap.put("desFlSta", tbAttResStagChar==null?"":tbAttResStagChar.getDesFlSta());
        tableMap.put("desFlFlow", tbAttResStagChar==null?"":tbAttResStagChar.getDesFlFlow());
        tableMap.put("desFl1dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getDesFl1dayCap());
        tableMap.put("desFl3dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getDesFl3dayCap());
        tableMap.put("checFlSta", tbAttResStagChar==null?"":tbAttResStagChar.getChecFlSta());
        tableMap.put("checFlFlow", tbAttResStagChar==null?"":tbAttResStagChar.getChecFlFlow());
        tableMap.put("checFl1dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getChecFl1dayCap());
        tableMap.put("checFl3dayCap", tbAttResStagChar==null?"":tbAttResStagChar.getChecFl3dayCap());
        //水库特征
        tableMap.put("adjustProp", AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel());
        tableMap.put("checFlStag", tbAttResStagChar.getChecFlStag());
        tableMap.put("totalCap", tbAttResStagChar.getTotalCap());
        tableMap.put("desFlStag", tbAttResStagChar.getDesFlStag());
        tableMap.put("flprCap", tbAttResStagChar.getFlprCap());
        tableMap.put("flConTopStag", tbAttResStagChar.getFlConTopStag());
        tableMap.put("flSortCap", tbAttResStagChar.getFlStorCap());
        tableMap.put("corNormStag", tbAttResStagChar.getCorNormStag());
        tableMap.put("adjustStorCap", tbAttResStagChar.getAdjustStorCap());
        tableMap.put("deadStag", tbAttResStagChar.getDeadStag());
        tableMap.put("deadCap", tbAttResStagChar.getDeadCap());
        tableMap.put("beforeFloodStag", tbAttResStagChar.getBeforeFloodStag());
        tableMap.put("midFloodStag", tbAttResStagChar.getMidFloodStag());
        tableMap.put("afterFloodStag", tbAttResStagChar.getAfterFloodStag());
        tableMap.put("adjustProp", tbAttResStagChar==null?"":AdjustPropEnum.find(tbAttResStagChar.getAdjustProp()).getLabel());
        tableMap.put("checFlStag", tbAttResStagChar==null?"":tbAttResStagChar.getChecFlStag());
        tableMap.put("totalCap", tbAttResStagChar==null?"":tbAttResStagChar.getTotalCap());
        tableMap.put("desFlStag", tbAttResStagChar==null?"":tbAttResStagChar.getDesFlStag());
        tableMap.put("flprCap", tbAttResStagChar==null?"":tbAttResStagChar.getFlprCap());
        tableMap.put("flConTopStag", tbAttResStagChar==null?"":tbAttResStagChar.getFlConTopStag());
        tableMap.put("flSortCap", tbAttResStagChar==null?"":tbAttResStagChar.getFlStorCap());
        tableMap.put("corNormStag", tbAttResStagChar==null?"":tbAttResStagChar.getCorNormStag());
        tableMap.put("adjustStorCap", tbAttResStagChar==null?"":tbAttResStagChar.getAdjustStorCap());
        tableMap.put("deadStag", tbAttResStagChar==null?"":tbAttResStagChar.getDeadStag());
        tableMap.put("deadCap", tbAttResStagChar==null?"":tbAttResStagChar.getDeadCap());
        tableMap.put("beforeFloodStag", tbAttResStagChar==null?"":tbAttResStagChar.getBeforeFloodStag());
        tableMap.put("midFloodStag", tbAttResStagChar==null?"":tbAttResStagChar.getMidFloodStag());
        tableMap.put("afterFloodStag", tbAttResStagChar==null?"":tbAttResStagChar.getAfterFloodStag());
        //new SimpleDateFormat("yyyy年MM月").format(tbAttResBase.getStartTime());
        String bfs = tbAttResStagChar.getBeforeFloodStart() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getBeforeFloodStart()) : "";
        String bfe = tbAttResStagChar.getBeforeFloodEnd() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getBeforeFloodEnd()) : "";
        String mfs = tbAttResStagChar.getMidFloodStart() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getMidFloodStart()) : "";
        String mfe = tbAttResStagChar.getMidFloodEnd() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getMidFloodEnd()) : "";
        String afs = tbAttResStagChar.getAfterFloodStart() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getAfterFloodStart()) : "";
        String afe = tbAttResStagChar.getAfterFloodEnd() != null ? new SimpleDateFormat("M月dd日").format(tbAttResStagChar.getAfterFloodEnd()) : "";
        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);
        tableMap.put("midFloodStart", mfs);
        tableMap.put("midFloodEnd", mfe);
        tableMap.put("afterFloodStart", afs);
        tableMap.put("afterFloodEnd", afe);
        tableMap.put("desFloodFlow", tbAttResStagChar.getDesFloodFlowMax());
        tableMap.put("checFloodFlowMax", tbAttResStagChar.getChecFloodFlowMax());
        tableMap.put("desFloodFlow", tbAttResStagChar==null?"":tbAttResStagChar.getDesFloodFlowMax());
        tableMap.put("checFloodFlowMax", tbAttResStagChar==null?"":tbAttResStagChar.getChecFloodFlowMax());
        String mainDamType = "";
        String mainDamMainFoundation = "";
@@ -302,7 +302,7 @@
        String disEnergyType = "";
        String norOc = "";
        if (tbAttResRsbNorspiList != null && tbAttResRsbNorspiList.size() > 0 && tbAttResRsbNorspiList.get(0).getNum() > 0) {
        if (tbAttResRsbNorspiList != null && tbAttResRsbNorspiList.size() > 0 && tbAttResRsbNorspiList.get(0).getNum() != null && tbAttResRsbNorspiList.get(0).getNum() > 0) {
            TbAttResRsbNorspi tbAttResRsbNorspi = tbAttResRsbNorspiList.get(0);
            norSpillwayType = SpillwayTypeEnum.find(tbAttResRsbNorspi.getSpillwayType()).getLabel();
@@ -354,7 +354,7 @@
        String enableStandar = "";
        String checkingFloodDischarge = "";
        if (tbAttResRsbVerspiList != null && tbAttResRsbVerspiList.size() > 0 && tbAttResRsbVerspiList.get(0).getNum() > 0) {
        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();
@@ -422,7 +422,16 @@
        if (tbAttResWaterDeliveryList != null && tbAttResWaterDeliveryList.size() > 0 && tbAttResWaterDeliveryList.get(0).getNum() > 0) {
            //取设计流量大的进行描述
            List<TbAttResWaterDelivery> sortList = tbAttResWaterDeliveryList.stream().sorted((a, b) -> b.getDesignFlow().compareTo(a.getDesignFlow())).collect(Collectors.toList());
//            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 = sortList.get(0);
            aqueductType = convertType(tbAttResWaterDelivery.getAqueductType(), "AqueductTypeEnum");
@@ -452,7 +461,7 @@
        String installedCapacity = "";
        String yearAvgHour = "";
        //当电站列表不为空 且 电站列表数量大于0 且num大于0
        if (tbAttResPowerStationList != null && tbAttResPowerStationList.size() > 0 && tbAttResPowerStationList.get(0).getNum() > 0) {
        if (tbAttResPowerStationList != null && tbAttResPowerStationList.size() > 0 && tbAttResPowerStationList.get(0).getNum()!=null && tbAttResPowerStationList.get(0).getNum() > 0) {
            TbAttResPowerStation tbAttResPowerStation = tbAttResPowerStationList.get(0);
            //取第一个电站
@@ -467,30 +476,34 @@
        //水库效益
        List<String> protectList = new ArrayList<>();
        if (!tbAttResEngBene.getCity().equals("无") ) {
        if (null != tbAttResEngBene) {
        }
        if (tbAttResEngBene!=null &&!tbAttResEngBene.getCity().equals("无") ) {
            protectList.add(tbAttResEngBene.getCity());
        }
        if (!tbAttResEngBene.getTown().equals("无")) {
        if (tbAttResEngBene!=null &&!tbAttResEngBene.getTown().equals("无")) {
            protectList.add(tbAttResEngBene.getTown());
        }
        if (!tbAttResEngBene.getRailway().equals("无")) {
        if (tbAttResEngBene!=null &&!tbAttResEngBene.getRailway().equals("无")) {
            protectList.add(tbAttResEngBene.getRailway());
        }
        if (!tbAttResEngBene.getHighway().equals("无")) {
        if (tbAttResEngBene!=null &&!tbAttResEngBene.getHighway().equals("无")) {
            protectList.add(tbAttResEngBene.getHighway());
        }
        if (!tbAttResEngBene.getImportCommunication().equals("无")) {
        if (tbAttResEngBene!=null &&!tbAttResEngBene.getImportCommunication().equals("无")) {
            protectList.add(tbAttResEngBene.getImportCommunication());
        }
        if (!tbAttResEngBene.getImportFactory().equals("无")) {
        if (tbAttResEngBene!=null &&!tbAttResEngBene.getImportFactory().equals("无")) {
            protectList.add(tbAttResEngBene.getImportFactory());
        }
        if (!tbAttResEngBene.getImportOtherFac().equals("无")) {
        if (tbAttResEngBene!=null &&!tbAttResEngBene.getImportOtherFac().equals("无")) {
            protectList.add(tbAttResEngBene.getImportOtherFac());
        }
        //只留前四个
@@ -502,50 +515,51 @@
            tableMap.put("protect", String.join("、", protectList));
        }
        double person = 0;
        if (tbAttResEngBene.getFlControlPerson() != null) {
        if (tbAttResEngBene !=null && tbAttResEngBene.getFlControlPerson() != null) {
            person = tbAttResEngBene.getFlControlPerson() / 10000.0;
            tableMap.put("flControlPerson", String.format("%.2f", person));
        } else {
            tableMap.put("flControlPerson", "");
        }
        tableMap.put("flControlPerson", String.format("%.2f", person));
        tableMap.put("flControlLand", String.format("%.2f", tbAttResEngBene.getFlControlLand() / 10000));
        tableMap.put("irrObject", tbAttResEngBene.getIrrObject());
        tableMap.put("moyearIrrAvg", tbAttResEngBene.getMoyearIrrAvg());
        tableMap.put("desIrrArea", String.format("%.2f", tbAttResEngBene.getDesIrrArea() / 10000));
        tableMap.put("checIrrArea", String.format("%.2f", tbAttResEngBene.getChecIrrArea() / 10000));
        tableMap.put("supplyObject", tbAttResEngBene.getSupplyObject());
        tableMap.put("flControlLand", tbAttResEngBene==null?"":tbAttResEngBene.getFlControlLand()==null?"":String.format("%.2f", tbAttResEngBene.getFlControlLand() / 10000));
        tableMap.put("irrObject", tbAttResEngBene==null?"":tbAttResEngBene.getIrrObject()==null?"":tbAttResEngBene.getIrrObject());
        tableMap.put("moyearIrrAvg", tbAttResEngBene==null?"":tbAttResEngBene.getMoyearIrrAvg() == null?"":tbAttResEngBene.getMoyearIrrAvg());
        tableMap.put("desIrrArea", tbAttResEngBene==null?"":tbAttResEngBene.getDesIrrArea() == null ?"":String.format("%.2f", tbAttResEngBene.getDesIrrArea() / 10000));
        tableMap.put("checIrrArea", tbAttResEngBene==null?"":tbAttResEngBene.getChecIrrArea()==null?"":String.format("%.2f", tbAttResEngBene.getChecIrrArea() / 10000));
        tableMap.put("supplyObject", tbAttResEngBene==null?"":tbAttResEngBene.getSupplyObject()==null?"":tbAttResEngBene.getSupplyObject());
        Double sup = 0.0;
        String supS = "";
        if (StringUtil.isNotBlank(tbAttResEngBene.getSupplyPopulation())) {
        if (tbAttResEngBene!=null && StringUtil.isNotBlank(tbAttResEngBene.getSupplyPopulation())) {
            sup = Double.parseDouble(tbAttResEngBene.getSupplyPopulation()) / 10000;
            supS = String.format("%.2f", sup);
        }
        tableMap.put("supplyPopulation", supS);
        tableMap.put("moyearSupplyAvg", tbAttResEngBene.getMoyearSupplyAvg());
        tableMap.put("moyearPowerAvg", tbAttResEngBene.getMoyearPowerAvg());
        tableMap.put("ecologicalFlow", tbAttResEngBene.getEcologicalFlow());
        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.getMUnitName());
        tableMap.put("cunitName", tbAttResMgrSysB.getCUnitName());
        tableMap.put("mUnitNature", tbAttResMgrSysB.getMUnitNature());
        tableMap.put("mUnitPersonNumber", tbAttResMgrSysB.getMUnitPersonNumber());
        tableMap.put("personEconomicSource", tbAttResMgrSysB.getPersonEconomicSource());
        tableMap.put("maintenanceEconomicSource", tbAttResMgrSysB.getMaintenanceEconomicSource());
        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.getResMaxStag());
        tableMap.put("resMinStag", tbAttResProjectUtilize.getResMinStag());
        tableMap.put("resMaxInFlow", tbAttResProjectUtilize.getResMaxInFlow());
        tableMap.put("resMaxOutFlow", tbAttResProjectUtilize.getResMaxOutFlow());
        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.getResMaxStagDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMaxStagDate()) : "";
        String resMinStagDate = tbAttResProjectUtilize.getResMinStagDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMinStagDate()) : "";
        String resMaxInFlowDate = tbAttResProjectUtilize.getResMaxInFlowDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMaxInFlowDate()) : "";
        String resMaxOutFlowDate = tbAttResProjectUtilize.getResMaxOutFlowDate() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResProjectUtilize.getResMaxOutFlowDate()) : "";
        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);
@@ -560,9 +574,9 @@
        tableMap.put("isWmst", InfoBuildingEnum.find(tbAttResInformationProject.getIsWmst()).getLabel());
        tableMap.put("isTermites", InfoBuildingEnum.find(tbAttResInformationProject.getIsTermites()).getLabel());
        //
        String tm = tbAttResSafetyMonitor.getSafetyAppraisalTime() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResSafetyMonitor.getSafetyAppraisalTime()) : "";
        String tm = tbAttResSafetyMonitor==null?"":tbAttResSafetyMonitor.getSafetyAppraisalTime() != null ? new SimpleDateFormat("yyyy年MM月dd日").format(tbAttResSafetyMonitor.getSafetyAppraisalTime()) : "";
        tableMap.put("safetyAppraisalTime", tm);
        tableMap.put("safetyAppraisalResult", tbAttResSafetyMonitor.getSafetyAppraisalResult()
        tableMap.put("safetyAppraisalResult", tbAttResSafetyMonitor==null?"":tbAttResSafetyMonitor.getSafetyAppraisalResult()==null?"":tbAttResSafetyMonitor.getSafetyAppraisalResult()
            .replace("1","一类坝").replace("2","二类坝").replace("3","三类坝"));
@@ -1061,35 +1075,39 @@
        String text = "";
        List<String> typeList = Arrays.asList(type.split(","));
        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;
        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;
    }
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
@@ -162,7 +162,14 @@
                    List<AttResManagePerson> attResManagePeople) {
        //取设计流量大的进行描述
        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());
        formatTbAttResBase(tbAttResBase);
        formatTbAttResStagChar(tbAttResStagChar);
@@ -331,11 +338,11 @@
         */
        //需要对其他类型进行判断;
        String type = tbAttResRsbSpillway.getSpillwayType();
        String holeNum = tbAttResRsbSpillway.getSectionNum() == 1 ? "单" : String.valueOf(tbAttResRsbSpillway.getSectionNum());
        String coveLength = isNull(tbAttResRsbSpillway.getCoveLength());
        String thresholdElevation = isNull(tbAttResRsbSpillway.getThresholdElevation());
        String chec = isNull(tbAttResRsbSpillway.getCheckFlDisCharge());
        String type = tbAttResRsbSpillway==null?"":tbAttResRsbSpillway.getSpillwayType();
        String holeNum = tbAttResRsbSpillway.getSectionNum()==null?"":tbAttResRsbSpillway.getSectionNum() == 1 ? "单" : String.valueOf(tbAttResRsbSpillway.getSectionNum());
        String coveLength = tbAttResRsbSpillway==null?"":isNull(tbAttResRsbSpillway.getCoveLength());
        String thresholdElevation = tbAttResRsbSpillway==null?"":isNull(tbAttResRsbSpillway.getThresholdElevation());
        String chec = tbAttResRsbSpillway==null?"":isNull(tbAttResRsbSpillway.getCheckFlDisCharge());
        String text = StringUtil.format("泄洪洞为{},{}孔,洞长{}m,进口底槛高程{}m,最大泄量(最大泄洪流量){}m³/s。",
            type, holeNum, coveLength, thresholdElevation, chec);
@@ -410,9 +417,24 @@
        //行政区划 市、县、镇
        if (StringUtil.isNotBlank(tbAttResBase.getBuildAddress())) {
            List<String> regionList = Arrays.asList(tbAttResBase.getBuildAddress().split("-"));
            this.cityName = regionList.get(1);
            this.countyName = regionList.get(2);
            this.townName = regionList.get(3);
            if (regionList.size() == 4) {
                this.cityName = regionList.get(1);
                this.countyName = regionList.get(2);
                this.townName = regionList.get(3);
            }else if (regionList.size() == 3) {
                this.cityName = regionList.get(1);
                this.countyName = regionList.get(2);
                this.townName = "";
            } else if (regionList.size() == 2){
                this.cityName = regionList.get(1);
                this.countyName = "";
                this.townName = "";
            } else {
                this.cityName = "";
                this.countyName = "";
                this.townName = "";
            }
        }
        //水库功能
@@ -583,12 +605,12 @@
            if (StringUtils.isNotBlank(this.economicBenefit)) {
                this.economicBenefit = this.economicBenefit +
                    StringUtil.format("此外,水库为{}{}万人提供生活用水,年均供水量{}万m³。",
                        tbAttResEngBene.getSupplyObject(),String.format("%.2f", Double.parseDouble(tbAttResEngBene.getSupplyPopulation())), tbAttResEngBene.getMoyearSupplyAvg());
                        tbAttResEngBene.getSupplyObject(),StringUtil.isBlank(tbAttResEngBene.getSupplyPopulation())?"":String.format("%.2f", Double.parseDouble(tbAttResEngBene.getSupplyPopulation())), tbAttResEngBene.getMoyearSupplyAvg());
            } else {
                //无灌溉有供水直接介绍供水
                this.economicBenefit =
                    StringUtil.format("水库为{}{}万人提供生活用水,年均供水量{}万m³。",
                        tbAttResEngBene.getSupplyObject(),String.format("%.2f", Double.parseDouble(tbAttResEngBene.getSupplyPopulation())/ 10000), tbAttResEngBene.getMoyearSupplyAvg());
                        tbAttResEngBene.getSupplyObject(),String.format("%.2f", StringUtil.isBlank(tbAttResEngBene.getSupplyPopulation())?"":Double.parseDouble(tbAttResEngBene.getSupplyPopulation())/ 10000), tbAttResEngBene.getMoyearSupplyAvg());
            }
        }
@@ -638,19 +660,22 @@
        }
        //key值表示其他
        if (typeKey.equals("9") || typeKey.equals("其他") || Integer.parseInt(typeKey) == 9 ) {
            text = explain;
        }else{
            switch (enumName) {
                case "AqueductTypeEnum":
                    text = AqueductTypeEnum.find(typeKey).getLabel();
                    break;
                case "SpillwayHoleType":
                    text = typeKey;
                    break;
        if (StringUtil.isNotBlank(typeKey)) {
            if (typeKey.equals("9") || typeKey.equals("其他") || Integer.parseInt(typeKey) == 9 ) {
                text = explain;
            }else{
                switch (enumName) {
                    case "AqueductTypeEnum":
                        text = AqueductTypeEnum.find(typeKey).getLabel();
                        break;
                    case "SpillwayHoleType":
                        text = typeKey;
                        break;
                }
            }
        }
        return text;
    }