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.docxBinary files differ