| | |
| | | package cn.gistack.sm.sjztmd.word.util; |
| | | |
| | | import cn.gistack.sm.sjztmd.word.vo.TbWordVO; |
| | | import com.deepoove.poi.XWPFTemplate; |
| | | |
| | | import java.io.*; |
| | |
| | | */ |
| | | public class WordUtil { |
| | | |
| | | public static byte[] compileTemplateAndRenderData() throws Exception { |
| | | public static byte[] compileTemplateAndRenderData(TbWordVO tbWordVO) throws Exception { |
| | | InputStream inputStream = WordUtil.class.getClassLoader().getResourceAsStream("word/doc/skcgmb.docx"); |
| | | ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createParams()); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream).render(createParams(tbWordVO)); |
| | | template.write(outputStream); |
| | | outputStream.flush(); |
| | | outputStream.close(); |
| | |
| | | * 根据水库id获取数据 |
| | | * @return |
| | | */ |
| | | private static Map<String, Object> createParams() { |
| | | private static Map<String, Object> createParams(TbWordVO tbWordVO) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("水库名称", "杨树堰水库"); |
| | | params.put("市", "黄冈市"); |
| | | params.put("县", "蕲春县"); |
| | | params.put("镇", "土匪镇"); |
| | | params.put("河流名称", "滠水支流泊沫河"); |
| | | params.put("水库功能", "防洪、灌溉、供水等综合"); |
| | | params.put("调节性能", "多年调节"); |
| | | params.put("水库坝址以上控制流域面积", "21"); |
| | | params.put("流域多年平均降雨量", "1171"); |
| | | params.put("多年平均年径流量", "1260"); |
| | | params.put("设计洪水标准", "五十年一遇"); |
| | | params.put("校核洪水标准", "千年一遇"); |
| | | params.put("总库容", "2823"); |
| | | params.put("水文特征", "兴利库容1741万m³,调洪库容568万m³,死库容514万m³;校核洪水位54.18m,设计洪水位53.45m,正常蓄水位51.92m,死水位41.42 m"); |
| | | params.put("工程等别","Ⅲ"); |
| | | params.put("挡水建筑物泄洪建筑物正常溢洪道","副坝、输水混凝土箱涵"); |
| | | params.put("主坝信息","主坝为粘土心墙坝,坝顶高程55.00m,最大坝高22m,坝长230m,坝顶宽5.5m。"); |
| | | params.put("挡水建筑物泄洪建筑物正常溢洪道等详情","副坝为均质土坝,坝顶高程55.00m,最大坝高14.4m,坝长65m,坝顶宽5.5m。" + |
| | | "溢洪道为正槽式溢洪道,无闸控制(溢洪道根据是否有闸控制确定,填有闸控制、无闸控制),堰顶高程51.92m,堰顶净宽36m,最大泄洪量262m³/s。"); |
| | | params.put("输水建筑物输水道形式","主要采用地面渠道输水");//若有两个以上输水建筑物,则描述设计流量较大的,若只有一个输水建筑物则去掉“主要” |
| | | params.put("断面尺寸","3X4"); |
| | | params.put("进口底槛高程","46.12"); |
| | | params.put("设计流量","20"); |
| | | params.put("保护城市","黄陂城区"); |
| | | params.put("保护人口保护耕地","3万人口、2万亩耕地"); |
| | | params.put("保护铁路","京广铁路、京九铁路等");//铁路、公路、管线、企业几个依次罗列,超过三个列出第二个后为“XX等”,后面不需罗列 |
| | | params.put("经济效益","水库为梅院泥灌区(与梅店、院基寺联合运用)提供灌溉用水,设计灌溉面积32.76万亩,有效灌溉面积24万亩,多年平均灌溉水量560万m³。" + |
| | | "此外,水库为罗汉寺街、李家集街12万人提供生活用水,年均供水量511万m³。");//若既有灌溉又有供水,则有“此外,”,无灌溉有供水直接介绍供水 |
| | | params.put("工程始建时间","1958年1月"); |
| | | params.put("下闸蓄水时间","1958年7月"); |
| | | params.put("水库名称", tbWordVO.getResName()); |
| | | params.put("市", tbWordVO.getCityName()); |
| | | params.put("县", tbWordVO.getCountyName()); |
| | | params.put("镇", tbWordVO.getTownName()); |
| | | params.put("河流名称", tbWordVO.getLocRvName()); |
| | | params.put("水库功能",tbWordVO.getResFuncText()); |
| | | params.put("调节性能", tbWordVO.getAdjustPropText()); |
| | | params.put("水库坝址以上控制流域面积", tbWordVO.getConArea()); |
| | | params.put("流域多年平均降雨量", tbWordVO.getMoyearRainAvg()); |
| | | params.put("多年平均年径流量", tbWordVO.getMoyearFlAvg()); |
| | | params.put("设计洪水标准", tbWordVO.getDesFlSta()); |
| | | params.put("校核洪水标准", tbWordVO.getChecFlSta()); |
| | | params.put("总库容", tbWordVO.getTotalCap()); |
| | | params.put("水文特征", tbWordVO.getHydrologicalCharacteristics()); |
| | | params.put("工程等别",tbWordVO.getEngGrad()); |
| | | params.put("挡水建筑物泄洪建筑物正常溢洪道",tbWordVO.getBuildingText()); |
| | | params.put("主坝信息",tbWordVO.getMainDamInfo()); |
| | | params.put("挡水建筑物泄洪建筑物正常溢洪道等详情",tbWordVO.getBuildingInfo()); |
| | | params.put("输水建筑物输水道形式",tbWordVO.getAqueductType());//若有两个以上输水建筑物,则描述设计流量较大的,若只有一个输水建筑物则去掉“主要” |
| | | params.put("断面尺寸",tbWordVO.getSection()); |
| | | params.put("进口底槛高程",tbWordVO.getThresholdElevation()); |
| | | params.put("设计流量",tbWordVO.getDesignFlow()); |
| | | params.put("保护城市",tbWordVO.getProtectCity()); |
| | | params.put("保护人口保护耕地",tbWordVO.getProtectPersonLand()); |
| | | params.put("保护铁路",tbWordVO.getProtectThings());//铁路、公路、管线、企业几个依次罗列,超过三个列出第二个后为“XX等”,后面不需罗列 |
| | | params.put("经济效益",tbWordVO.getEconomicBenefit());//若既有灌溉又有供水,则有“此外,”,无灌溉有供水直接介绍供水 |
| | | params.put("工程始建时间",tbWordVO.getStartTime()); |
| | | params.put("下闸蓄水时间",tbWordVO.getWaterStorageTm()); |
| | | // 鉴定时间 > 除险加固 |
| | | params.put("安全鉴定和除险加固","2022年3月,水库进行安全鉴定,鉴定结果为\"三类坝\",工程主要存在问题为2022年安全鉴定武汉市水务局批复为三类坝,大坝中心未出复核意见。心墙渗透系数偏大。"); |
| | | params.put("安全鉴定和除险加固",tbWordVO.getSafetyMonitorText()); |
| | | // 鉴定时间 < 除险加固 |
| | | //params.put("安全鉴定和除险加固","2012年9月,水库进行安全鉴定,鉴定结果为“三类坝”(加一个双引号),工程主要存在问题为坝顶及心墙顶欠高,大坝渗透系数偏大,溢洪道过流能力不足、边墙高度不足等(加一个“等”)。 |
| | | // 针对水库安全鉴定发现的问题,水库除险加固工程于2019年11月动工,2022年6月蓄水验收。"); |
| | | params.put("管理单位名称","武汉市黄陂区梅院泥水库管理处"); |
| | | params.put("管理单位性质","公益类"); |
| | | params.put("主管部门","黄陂区水务和湖泊局管理");// 水库基本信息表,不是填报表 |
| | | params.put("管理单位职工人数","106"); |
| | | params.put("主管部门责任人","敖志雄(领导,13871305098)"); // 责任人信息表,不是填报表 |
| | | params.put("行政主管单位","黄陂区人民政府"); |
| | | params.put("行政责任人职务手机号码","邱昌春(副区长,13995616668)"); // 责任人信息表,不是填报表 |
| | | params.put("管理单位名称",tbWordVO.getMUnitName()); |
| | | params.put("管理单位性质",tbWordVO.getMUnitNature()); |
| | | params.put("主管部门",tbWordVO.getCUnitName());// 水库基本信息表,不是填报表 |
| | | params.put("管理单位职工人数",tbWordVO.getMUnitPersonNumber()); |
| | | params.put("主管部门责任人",tbWordVO.getCompetentDepartmentInfo()); // 责任人信息表,不是填报表 |
| | | params.put("行政主管单位",tbWordVO.getAdministrativeUnit()); |
| | | params.put("行政责任人职务手机号码",tbWordVO.getAdministrativeInfo()); // 责任人信息表,不是填报表 |
| | | return params; |
| | | } |
| | | |