guoshilong
2023-11-28 665c12bf06aa28e285f835e2ec7cecc553a686ef
填报word修改,技术规范
3 files modified
8 files added
381 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/enums/PlantLayoutTypeEnum.java 60 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java 75 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/controller/TechnicalSpecificationController.java 119 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/entity/TechnicalSpecification.java 23 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/mapper/TechnicalSpecificationMapper.java 23 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/mapper/TechnicalSpecificationMapper.xml 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/service/ITechnicalSpecificationService.java 27 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/service/impl/TechnicalSpecificationServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/vo/TechnicalSpecificationVO.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/enums/PlantLayoutTypeEnum.java
New file
@@ -0,0 +1,60 @@
package cn.gistack.sm.sjztmd.word.enums;
import lombok.Getter;
import java.util.Arrays;
/**
 * 厂房布置形式枚举
 */
@Getter
public enum PlantLayoutTypeEnum {
    /**
     *     {
     *         value: 1,
     *         label: '坝后式'
     *     }, {
     *         value: 2,
     *         label: '坝内式'
     *     }, {
     *         value: 3,
     *         label: '地下式'
     *     }, {
     *         value: 4,
     *         label: '河床式'
     *     }, {
     *         value: 5,
     *         label: '引水式'
     *     }, {
     *         value: 6,
     *         label: '其他'
     *     }
     */
    FANG_HONG(1,"坝后式"),
    GUAN_GAI(2,"坝内式"),
    GONG_SHUI(3,"地下式"),
    FA_DIAN(4,"河床式"),
    HANG_YUN(5,"引水式"),
    QI_TA(10,"其他"),
    NULL_ABLE(-1,"");
    int key;
    String label;
    PlantLayoutTypeEnum(int key,String label) {
        this.key = key;
        this.label = label;
    }
    public static PlantLayoutTypeEnum find(int key) {
        return Arrays.stream(values()).filter(resFucEnum -> resFucEnum.key == key).findAny().orElse(NULL_ABLE);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/util/WordUtil.java
@@ -53,6 +53,7 @@
        params.put("断面尺寸",tbWordVO.getSection());
        params.put("进口底槛高程",tbWordVO.getThresholdElevation());
        params.put("设计流量",tbWordVO.getDesignFlow());
        params.put("电站信息",tbWordVO.getPowerStationInfo());
        params.put("保护城市",tbWordVO.getProtectCity());
        params.put("保护人口保护耕地",tbWordVO.getProtectPersonLand());
        params.put("保护铁路",tbWordVO.getProtectThings());//铁路、公路、管线、企业几个依次罗列,超过三个列出第二个后为“XX等”,后面不需罗列
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();
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/controller/TechnicalSpecificationController.java
New file
@@ -0,0 +1,119 @@
package cn.gistack.sm.waterKnowledge.controller;
import cn.gistack.sm.waterKnowledge.entity.TechnicalSpecification;
import cn.gistack.sm.waterKnowledge.entity.WaterKnowledge;
import cn.gistack.sm.waterKnowledge.service.ITechnicalSpecificationService;
import cn.gistack.sm.waterKnowledge.service.WaterKnowledgeService;
import cn.gistack.sm.waterKnowledge.vo.TechnicalSpecificationVO;
import cn.gistack.sm.waterKnowledge.vo.WaterKnowledgeVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Date;
/**
 * 水知识控制层
 * @author zhongrj
 * @date 2023-05-29
 */
@RestController
@AllArgsConstructor
@RequestMapping("/technicalSpecification/technicalSpecification")
public class TechnicalSpecificationController {
    private final ITechnicalSpecificationService technicalSpecificationService;
    /**
     * 分页列表查询
     *
     * @param technicalSpecification
     * @return
     */
    @ApiOperation(value="水知识-分页列表查询", notes="水知识-分页列表查询")
    @GetMapping(value = "/list")
    public R queryPageList(TechnicalSpecification technicalSpecification, Query query) {
        IPage<TechnicalSpecification> pageList = technicalSpecificationService.page(Condition.getPage(query), Condition.getQueryWrapper(technicalSpecification));
        return R.data(pageList);
    }
    /**
     * 自定义分页列表查询
     * @param query
     * @param technicalSpecification
     * @return
     */
    @ApiOperation(value="水知识-自定义分页列表查询", notes="水知识-自定义分页列表查询")
    @GetMapping(value = "/page")
    public R page(TechnicalSpecificationVO technicalSpecification, Query query) {
        return R.data( technicalSpecificationService.selectPage(Condition.getPage(query),technicalSpecification));
    }
    /**
     * 添加
     *
     * @param technicalSpecification
     * @return
     */
    @ApiOperation(value="水知识-添加", notes="水知识-添加")
    @PostMapping(value = "/add")
    public R add(@RequestBody TechnicalSpecification technicalSpecification) {
        return R.data(technicalSpecificationService.save(technicalSpecification));
    }
    /**
     * 编辑
     *
     * @param technicalSpecification
     * @return
     */
    @ApiOperation(value="水知识-编辑", notes="水知识-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public R edit(@RequestBody TechnicalSpecification technicalSpecification) {
        return R.data(technicalSpecificationService.updateById(technicalSpecification));
    }
    /**
     * 通过id删除
     *
     * @param id
     * @return
     */
    @ApiOperation(value="水知识-通过id删除", notes="水知识-通过id删除")
    @PostMapping(value = "/delete")
    public R delete(@RequestParam(name="id",required=true) String id) {
        return R.data(technicalSpecificationService.removeById(id));
    }
    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    @ApiOperation(value="水知识-批量删除", notes="水知识-批量删除")
    @PostMapping(value = "/deleteBatch")
    public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        return R.data(this.technicalSpecificationService.removeByIds(Arrays.asList(ids.split(","))));
    }
    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value="水知识-通过id查询", notes="水知识-通过id查询")
    @GetMapping(value = "/queryById")
    public R queryById(@RequestParam(name="id",required=true) String id) {
        TechnicalSpecification technicalSpecification = technicalSpecificationService.getById(id);
        return R.data(technicalSpecification);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/entity/TechnicalSpecification.java
New file
@@ -0,0 +1,23 @@
package cn.gistack.sm.waterKnowledge.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springblade.core.mp.base.BaseEntity;
@Data
@TableName(value = "sm_technical_specification")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TechnicalSpecification extends BaseEntity {
    //标题
    private String title;
    //简介
    private String briefContent;
    //链接
    private String urls;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/mapper/TechnicalSpecificationMapper.java
New file
@@ -0,0 +1,23 @@
package cn.gistack.sm.waterKnowledge.mapper;
import cn.gistack.sm.waterKnowledge.entity.TechnicalSpecification;
import cn.gistack.sm.waterKnowledge.entity.WaterKnowledge;
import cn.gistack.sm.waterKnowledge.vo.TechnicalSpecificationVO;
import cn.gistack.sm.waterKnowledge.vo.WaterKnowledgeVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * 技术规范详情mapper映射层
 * @author zhongrj
 * @date 2023-05-29
 */
public interface TechnicalSpecificationMapper extends BaseMapper<TechnicalSpecification> {
    List<TechnicalSpecification> getPage(@Param("page") IPage<TechnicalSpecification> page, @Param("ts") TechnicalSpecificationVO technicalSpecification);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/mapper/TechnicalSpecificationMapper.xml
New file
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.waterKnowledge.mapper.TechnicalSpecificationMapper">
    <!--自定义分页列表查询-->
    <select id="getPage" resultType="cn.gistack.sm.waterKnowledge.entity.TechnicalSpecification">
        SELECT * FROM SM_TECHNICAL_SPECIFICATION
                 WHERE IS_DELETED = 0
        <if test="ts.title != null and ts.title !='' ">
            AND title LIKE CONCAT('%',#{ts.title},'%')
        </if>
        <if test="ts.startTime != null and ts.startTime !='' ">
            and DATE_FORMAT(create_time,'%Y-%m-%d') = #{ts.startTime}
        </if>
        ORDER BY create_time DESC
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/service/ITechnicalSpecificationService.java
New file
@@ -0,0 +1,27 @@
package cn.gistack.sm.waterKnowledge.service;
import cn.gistack.sm.reportFlood.entity.ReportFloodHandle;
import cn.gistack.sm.waterKnowledge.entity.TechnicalSpecification;
import cn.gistack.sm.waterKnowledge.entity.WaterKnowledge;
import cn.gistack.sm.waterKnowledge.vo.TechnicalSpecificationVO;
import cn.gistack.sm.waterKnowledge.vo.WaterKnowledgeVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.mp.base.BaseService;
/**
 * 水知识服务层
 * @author zhongrj
 * @date 2023-09-12
 */
public interface ITechnicalSpecificationService extends BaseService<TechnicalSpecification> {
    /**
     * 自定义分页列表查询
     * @param page
     * @param technicalSpecification
     * @return
     */
    Object selectPage(IPage<TechnicalSpecification> page, TechnicalSpecificationVO technicalSpecification);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/service/impl/TechnicalSpecificationServiceImpl.java
New file
@@ -0,0 +1,23 @@
package cn.gistack.sm.waterKnowledge.service.impl;
import cn.gistack.sm.waterKnowledge.entity.TechnicalSpecification;
import cn.gistack.sm.waterKnowledge.mapper.TechnicalSpecificationMapper;
import cn.gistack.sm.waterKnowledge.service.ITechnicalSpecificationService;
import cn.gistack.sm.waterKnowledge.vo.TechnicalSpecificationVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class TechnicalSpecificationServiceImpl extends BaseServiceImpl<TechnicalSpecificationMapper,TechnicalSpecification> implements ITechnicalSpecificationService {
    @Override
    public Object selectPage(IPage<TechnicalSpecification> page, TechnicalSpecificationVO technicalSpecification) {
        if (technicalSpecification.getGetAll() == null || technicalSpecification.getGetAll().equals("")){
            return  page.setRecords(baseMapper.getPage(page,technicalSpecification));
        }else {
            return baseMapper.getPage(null,technicalSpecification);
        }
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/waterKnowledge/vo/TechnicalSpecificationVO.java
New file
@@ -0,0 +1,13 @@
package cn.gistack.sm.waterKnowledge.vo;
import cn.gistack.sm.waterKnowledge.entity.TechnicalSpecification;
import lombok.Data;
@Data
public class TechnicalSpecificationVO extends TechnicalSpecification {
    private String startTime;
    private String endTime;
    private String getAll;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/resources/word/doc/skcgmb.docx
Binary files differ