c0f455650c12b7180c398d0f83aed930e184ccf1.svn-base 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497
  1. package cn.com.goldenwater.dcproj.utils.export.template;
  2. import cn.com.goldenwater.dcproj.dao.AttRsBaseCrrctDao;
  3. import cn.com.goldenwater.dcproj.dto.BisInspRsvrRgstrPcDto;
  4. import cn.com.goldenwater.dcproj.dto.BisInspRsvrRgstrPcDtoVo;
  5. import cn.com.goldenwater.dcproj.model.*;
  6. import cn.com.goldenwater.dcproj.param.*;
  7. import cn.com.goldenwater.dcproj.service.*;
  8. import cn.com.goldenwater.dcproj.utils.ZipUtil;
  9. import cn.com.goldenwater.dcproj.utils.export.CreateExcelHelper;
  10. import cn.com.goldenwater.dcproj.utils.export.ExcelFieldUtil;
  11. import cn.com.goldenwater.dcproj.utils.export.TableEnum;
  12. import cn.com.goldenwater.util.common.FileUtils;
  13. import com.github.pagehelper.PageInfo;
  14. import org.apache.poi.hssf.usermodel.*;
  15. import org.apache.poi.ss.usermodel.HorizontalAlignment;
  16. import org.apache.poi.ss.usermodel.VerticalAlignment;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.beans.factory.annotation.Value;
  19. import org.springframework.stereotype.Component;
  20. import java.io.*;
  21. import java.text.SimpleDateFormat;
  22. import java.util.*;
  23. /**
  24. * <p>
  25. * 创建水库的表格通过模板
  26. * </p>
  27. *
  28. * @author liyz
  29. * @date 2019/3/19 9:20
  30. */
  31. @Component
  32. public class CreateSkTablesByTemplate {
  33. private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  34. @Value("${export.basePath}")
  35. public String exportBasePath;
  36. @Autowired
  37. private ExcelFieldUtil excelFieldUtil;
  38. @Autowired
  39. private CreateExcelHelper createExcelHelper;
  40. @Value("${export.templatePath}")
  41. private String templatePath;
  42. /**
  43. * 8.小水库督查情况Service
  44. */
  45. @Autowired
  46. private BisInspRsvrRgstrService bisInspRsvrRgstrService;
  47. /* 5张表合成1张表 */
  48. /**
  49. * 5-1 基础信息
  50. **/
  51. @Autowired
  52. private AttRsBaseCrrctDao attRsBaseCrrctDao;
  53. @Autowired
  54. private AttRsBaseService attRsBaseService;
  55. /**
  56. * 5-2 重点环节落实情况
  57. **/
  58. @Autowired
  59. private BisInspBaseExtService bisInspBaseExtService;
  60. /**
  61. * 5-3 责任人落实情况
  62. **/
  63. @Autowired
  64. private BisInspBasePresExtService bisInspBasePresExtService;
  65. /**
  66. * 5-4 水库工程实体和运行情况
  67. **/
  68. @Autowired
  69. private BisInspSafeExtManageService bisInspSafeExtManageService;
  70. /**
  71. * 5-5 走访情况
  72. **/
  73. @Autowired
  74. private BisInspBaseViewService bisInspBaseViewService;
  75. @Autowired
  76. private BisInspPreListService bisInspPreListService;
  77. @Autowired
  78. private BisInspRsvrProjectService bisInspRsvrProjectService;
  79. @Autowired
  80. private BisInspRsvrBenefitsService bisInspRsvrBenefitsService;
  81. /**
  82. * 8.创建小水库督查情况表
  83. */
  84. @Deprecated
  85. public void createBisInspRsvrRgstrPcDtoExcel(TypeExportParam typeExportParam, PrintWriter printWriter) {
  86. // 一页查200条数据
  87. typeExportParam.setPageNum(0);
  88. typeExportParam.setPageSize(40000);
  89. PageInfo<BisInspRsvrRgstrPcDto> data = bisInspRsvrRgstrService.findPcPage(typeExportParam);
  90. // 如果没有数据,则直接返回
  91. if (data.getList().size() == 0) {
  92. printWriter.println("暂无数据可导出。<br>");
  93. printWriter.flush();
  94. return;
  95. }
  96. OutputStream os = null;
  97. printWriter.println("准备导出,开始创建导出目录<br>");
  98. printWriter.flush();
  99. String fileName = TableEnum.T8.getName();
  100. printWriter.println(sdf.format(new Date()) + " 开始创建 " + fileName + ".xls" + "<br>");
  101. printWriter.flush();
  102. //导出
  103. try {
  104. String filePath = UUID.randomUUID().toString();
  105. String dir = exportBasePath + File.separator + filePath + File.separator;
  106. String zipFile = exportBasePath + File.separator + filePath + ".zip";
  107. FileUtils.mkFolder(dir);
  108. // 加载模板
  109. FileInputStream fis = new FileInputStream(templatePath + File.separator + "t8.xls");
  110. HSSFWorkbook fisWorkBook = new HSSFWorkbook(fis);
  111. HSSFWorkbook workBook = new HSSFWorkbook();
  112. workBook = fisWorkBook;
  113. workBook.setSheetName(0, "小水库督查情况表");
  114. HSSFSheet sheet = workBook.getSheetAt(0);
  115. HSSFCellStyle style = workBook.createCellStyle(); // 样式对象
  116. style.setAlignment(HorizontalAlignment.CENTER);
  117. HSSFFont font = workBook.createFont();
  118. style.setVerticalAlignment(VerticalAlignment.CENTER);
  119. style.setAlignment(HorizontalAlignment.CENTER);
  120. font.setFontName("宋体");
  121. font.setFontHeightInPoints((short) 10);// 设置字体大小
  122. style.setFont(font);
  123. // 如果有数据,则导出到excel
  124. File outputFile = new File(dir + fileName + (System.currentTimeMillis()) + ".xls");
  125. os = new FileOutputStream(outputFile);
  126. // 导出到excel
  127. // 处理一下,加入5张表的数据
  128. List<Map<String, Object>> list = excelFieldUtil.getBisInspRsvrRgstrPcDtoDataList(getBisVo(data.getList(), typeExportParam));
  129. for (int i = 0; i < list.size(); i++) {
  130. HSSFRow creRow = sheet.createRow(4 + i);
  131. creRow.createCell(0).setCellValue(list.get(i).get("province").toString()); // 省
  132. creRow.createCell(1).setCellValue(list.get(i).get("city").toString()); // 市
  133. creRow.createCell(2).setCellValue(list.get(i).get("county").toString()); // 县
  134. creRow.createCell(3).setCellValue(list.get(i).get("nm").toString());
  135. creRow.createCell(4).setCellValue(list.get(i).get("rsCode").toString());
  136. creRow.createCell(5).setCellValue(list.get(i).get("rsLoc").toString());
  137. creRow.createCell(6).setCellValue(list.get(i).get("compDate").toString());
  138. creRow.createCell(7).setCellValue(list.get(i).get("engScal1").toString());
  139. creRow.createCell(8).setCellValue(list.get(i).get("totCap").toString());
  140. creRow.createCell(9).setCellValue(list.get(i).get("damSizeHig").toString());
  141. creRow.createCell(10).setCellValue(list.get(i).get("damTypeStr1").toString());
  142. creRow.createCell(11).setCellValue(list.get(i).get("regCode").toString());
  143. creRow.createCell(12).setCellValue(list.get(i).get("regCode2").toString());
  144. // 三项基本要求落实情况
  145. creRow.createCell(13).setCellValue(list.get(i).get("emerPlanSameExta").toString());
  146. creRow.createCell(14).setCellValue(list.get(i).get("emerPlanSameAppr").toString());
  147. creRow.createCell(15).setCellValue(list.get(i).get("emerPlanSameSpeed").toString());
  148. creRow.createCell(16).setCellValue(list.get(i).get("emerPlanSameEme").toString());
  149. creRow.createCell(17).setCellValue(list.get(i).get("schPlanSameExta").toString());
  150. creRow.createCell(18).setCellValue(list.get(i).get("schPlanSameAppr").toString());
  151. creRow.createCell(19).setCellValue(list.get(i).get("schPlanSameSpeed").toString());
  152. creRow.createCell(20).setCellValue(list.get(i).get("rainForc").toString());
  153. // 履行责任情况总体评价
  154. creRow.createCell(21).setCellValue("");
  155. // 管理机构
  156. creRow.createCell(22).setCellValue(list.get(i).get("hasSpeManage").toString()); // 是否有专门管理机构
  157. creRow.createCell(23).setCellValue(list.get(i).get("manaOrg").toString()); //管理机构名称
  158. creRow.createCell(24).setCellValue(list.get(i).get("orgProp").toString()); //管理机构性质
  159. creRow.createCell(25).setCellValue(list.get(i).get("fundSour").toString());// 管理机构经费来源
  160. creRow.createCell(26).setCellValue(list.get(i).get("fundSourCount").toString());
  161. creRow.createCell(27).setCellValue(list.get(i).get("hasManagePers").toString()); // 是否有管护人员
  162. //行政责任人情况
  163. creRow.createCell(28).setCellValue(list.get(i).get("hasWiunWaoLegPers").toString());
  164. creRow.createCell(29).setCellValue(list.get(i).get("wiunWaoLegPers").toString());
  165. creRow.createCell(30).setCellValue(list.get(i).get("wiunWaoLegPersTel").toString());
  166. creRow.createCell(31).setCellValue(list.get(i).get("wiunWaoLegPersDuty").toString());
  167. creRow.createCell(32).setCellValue(list.get(i).get("wiunWaoLegPersResu").toString());
  168. //技术责任人情况
  169. creRow.createCell(33).setCellValue(list.get(i).get("hasTechPers").toString());
  170. creRow.createCell(34).setCellValue(list.get(i).get("techPers").toString());
  171. creRow.createCell(35).setCellValue(list.get(i).get("techPersTel").toString());
  172. creRow.createCell(36).setCellValue(list.get(i).get("techPersDuty").toString());
  173. creRow.createCell(37).setCellValue(list.get(i).get("techPersResu").toString());
  174. //巡查责任人情况
  175. creRow.createCell(38).setCellValue(list.get(i).get("hasPatrolPers").toString());
  176. creRow.createCell(39).setCellValue(list.get(i).get("patrolPers").toString());
  177. creRow.createCell(40).setCellValue(list.get(i).get("patrolPersDuty").toString());
  178. creRow.createCell(41).setCellValue(list.get(i).get("hasAttendTrain").toString()); // 是否参加过培训
  179. creRow.createCell(42).setCellValue(list.get(i).get("patrolPersResu").toString());
  180. creRow.createCell(43).setCellValue(list.get(i).get("patrolReward").toString()); //管护报酬(万元/年)
  181. creRow.createCell(44).setCellValue(list.get(i).get("patrolFundSour").toString()); //经费来源
  182. // 履责情况
  183. creRow.createCell(45).setCellValue(""); //管理制度制定情况
  184. creRow.createCell(46).setCellValue(list.get(i).get("hasExtPatrol").toString()); //是否开展巡查
  185. creRow.createCell(47).setCellValue(list.get(i).get("protalRate").toString());//巡视检查频次(次/月)
  186. creRow.createCell(48).setCellValue(list.get(i).get("isPatrolMsgComp").toString()); // 巡视检查记录是否完整
  187. creRow.createCell(49).setCellValue(list.get(i).get("hasRepDangReal").toString());//有险情是否及时报告
  188. creRow.createCell(50).setCellValue(list.get(i).get("dangReportObj").toString()); //险情报告对象
  189. creRow.createCell(51).setCellValue(list.get(i).get("hasReport").toString()); //是否有报告记录
  190. creRow.createCell(52).setCellValue(list.get(i).get("hasFlLowLimLev").toString()); //是否知晓防洪限制水位
  191. creRow.createCell(53).setCellValue(list.get(i).get("hasKnowEmerPlanSame").toString()); //是否知晓安全应急(防汛)应急预案
  192. //安全运行管理情况
  193. creRow.createCell(54).setCellValue(list.get(i).get("safeComment").toString()); //水库安全总体评价
  194. creRow.createCell(55).setCellValue(list.get(i).get("hasRetainRegular").toString()); //目前是否正常蓄水运行
  195. creRow.createCell(56).setCellValue(list.get(i).get("noRetainRegular").toString());//有缺陷基本能正常蓄水
  196. creRow.createCell(57).setCellValue(list.get(i).get("canNotRetainWater").toString()); // 不具备正常蓄水条件
  197. // 挡水建筑物运行状况
  198. creRow.createCell(58).setCellValue(list.get(i).get("dikeHasLeak").toString());//是否明显漏水
  199. creRow.createCell(59).setCellValue(list.get(i).get("leakMakeSafe").toString()); //漏水是否影响安全
  200. creRow.createCell(60).setCellValue(list.get(i).get("hasAstable").toString()); //是否有变形或不稳定情况
  201. // 泄洪建筑物运行状况
  202. creRow.createCell(61).setCellValue(list.get(i).get("hasSetMainFl").toString()); //是否设置泄洪建筑物
  203. creRow.createCell(62).setCellValue(list.get(i).get("isMainFlNormal").toString()); //泄洪建筑物是否运行正常
  204. creRow.createCell(63).setCellValue(""); //能运行有缺陷
  205. creRow.createCell(64).setCellValue(""); //是否设置泄洪闸门
  206. creRow.createCell(65).setCellValue(""); //泄洪闸门启闭是否正常
  207. creRow.createCell(66).setCellValue(""); //未设置泄洪建筑物原因
  208. // 放水建筑物运行状况
  209. creRow.createCell(67).setCellValue(list.get(i).get("hasSetPourFl").toString()); //是否设置放水建筑物
  210. creRow.createCell(68).setCellValue(""); //放水建筑物是否运行正常
  211. creRow.createCell(69).setCellValue(""); //能运行有缺陷
  212. creRow.createCell(70).setCellValue(""); //是否设置放水闸门
  213. //安全运行管理情况
  214. //放水建筑物运行状况
  215. creRow.createCell(71).setCellValue(""); //放水闸门启闭是否正常
  216. creRow.createCell(72).setCellValue(""); //未设置放水建筑物原因
  217. //是否设置防洪限制水位
  218. creRow.createCell(73).setCellValue(list.get(i).get("havFlLowLimLev").toString()); //是否设置防洪限制水位
  219. creRow.createCell(74).setCellValue(list.get(i).get("gtFlLowLimLev").toString()); //是否超防洪限制水位运行
  220. //大坝安全鉴定
  221. creRow.createCell(75).setCellValue(list.get(i).get("extDamSafeAppr").toString()); //是否开展过大坝安全鉴定
  222. creRow.createCell(76).setCellValue(""); //最近一次鉴定时间
  223. creRow.createCell(77).setCellValue("");//最近一次鉴定结论是否 三类坝
  224. creRow.createCell(78).setCellValue(""); //安全鉴定是否符合要求
  225. creRow.createCell(79).setCellValue(""); //未开展安全鉴定原因
  226. //水库除险加固
  227. creRow.createCell(80).setCellValue(list.get(i).get("ifReinForce").toString()); //是否进行过除险加固
  228. creRow.createCell(81).setCellValue(""); //完成除险加固时间
  229. creRow.createCell(82).setCellValue("");//是否通过蓄水验收
  230. creRow.createCell(83).setCellValue(""); //验收时间
  231. creRow.createCell(84).setCellValue(""); //是否全面完成加固任务
  232. creRow.createCell(85).setCellValue("");//未完成的加固任务是否 影响安全度汛
  233. creRow.createCell(86).setCellValue(""); //未开展除险加固原因
  234. creRow.createCell(87).setCellValue(""); //目前是否仍存在险情
  235. creRow.createCell(88).setCellValue(""); //水面是否出租
  236. creRow.createCell(89).setCellValue(""); //水面出租是否影响防洪
  237. creRow.createCell(90).setCellValue(""); //其他影响安全的因素
  238. // 走访情况
  239. creRow.createCell(91).setCellValue(list.get(i).get("viewPreNum").toString()); //走访人数
  240. creRow.createCell(92).setCellValue(list.get(i).get("viewPreName").toString()); //走访人姓名
  241. // 走访内容
  242. creRow.createCell(93).setCellValue(list.get(i).get("knowResManager").toString()); //是否知晓水库管护人员
  243. creRow.createCell(94).setCellValue(list.get(i).get("managerComment").toString()); //对管护责任人的评价
  244. creRow.createCell(95).setCellValue(list.get(i).get("groupLeader").toString()); //组长
  245. creRow.createCell(96).setCellValue(list.get(i).get("groupLeaderTel").toString()); //组长电话
  246. creRow.createCell(97).setCellValue(list.get(i).get("liaisonMan").toString()); //联络员
  247. creRow.createCell(98).setCellValue(list.get(i).get("liaisonManTel").toString()); //联络员电话
  248. creRow.setRowStyle(style);
  249. }
  250. int pages = data.getPages();
  251. // 如果超过一页
  252. workBook.write(os);
  253. fis.close();
  254. os.flush();
  255. os.close();
  256. printWriter.println(sdf.format(new Date()) + " 完成创建 " + fileName + ".xls" + "<br>");
  257. printWriter.flush();
  258. // 指定压缩源,可以是目录或文件
  259. String src = dir;
  260. // 压缩包路径
  261. String archive = zipFile;
  262. // 压缩包注释
  263. String comment = "Java Zip SLDC";
  264. // 压缩文件或目录
  265. ZipUtil.zip(src, archive, comment);
  266. printWriter.write("创建完成。压缩完成。 <a href='/api/dc/gd/base/download/" + filePath + "' download>点击下载</a>");
  267. printWriter.flush();
  268. } catch (Exception e) {
  269. try {
  270. os.close();
  271. } catch (IOException e1) {
  272. e1.printStackTrace();
  273. }
  274. e.printStackTrace();
  275. }
  276. }
  277. List<BisInspRsvrRgstrPcDtoVo> getBisVo(List<BisInspRsvrRgstrPcDto> dataList, TypeExportParam typeExportParam) {
  278. List<BisInspRsvrRgstrPcDtoVo> dataListVo = new ArrayList<>();
  279. dataList.forEach(x -> {
  280. BisInspRsvrRgstrPcDtoVo bisVo = new BisInspRsvrRgstrPcDtoVo();
  281. // 放入督查情况表
  282. bisVo.setBisInspRsvrRgstrPcDto(x);
  283. // 1.放入基础信息
  284. bisVo.setAttRsBaseCrrct(getAttRsBaseCrrctBy(x, typeExportParam));
  285. bisVo.setAttRsBase(getAttRsBaseBy(x));
  286. // 2.重点环节落实情况
  287. bisVo.setBisInspBaseExt(getBisInspBaseExtBy(x));
  288. // 3.责任人落实情况
  289. bisVo.setBisInspBasePresExt(getBisInspBasePresExtBy(x));
  290. // 4.水库工程实体和运行情况
  291. bisVo.setBisInspSafeExtManage(getBisInspSafeExtManageBy(x));
  292. // 5.走访情况
  293. bisVo.setBisInspPreList(getBisInspPreListBy(x));
  294. // 6.省 市 县 其他
  295. String adCode;
  296. if (bisVo.getAttRsBaseCrrct() != null) {
  297. adCode = bisVo.getAttRsBaseCrrct().getAdmDiv();
  298. } else {
  299. adCode = bisVo.getAttRsBase().getAdmDiv();
  300. }
  301. bisVo.setHashMap(getHashMap(adCode));
  302. dataListVo.add(bisVo);
  303. });
  304. return dataListVo;
  305. }
  306. AttRsBaseCrrct getAttRsBaseCrrctBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto, TypeExportParam typeExportParam) {
  307. String rsCode = bisInspRsvrRgstrPcDto.getCode();
  308. String persId = typeExportParam.getPresId();
  309. return attRsBaseCrrctDao.get(rsCode, persId);
  310. }
  311. AttRsBase getAttRsBaseBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto) {
  312. String rsCode = bisInspRsvrRgstrPcDto.getCode();
  313. AttRsBase att = attRsBaseService.get(rsCode);
  314. return att == null ? new AttRsBase() : att;
  315. }
  316. BisInspBaseExt getBisInspBaseExtBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto) {
  317. BisInspBaseExtParam bisInspBaseExtParam = new BisInspBaseExtParam();
  318. String rgstrId = bisInspRsvrRgstrPcDto.getRgstrId();
  319. BisInspBaseExt bisInspBaseExt = new BisInspBaseExt();
  320. if (rgstrId != null) {
  321. bisInspBaseExtParam.setRgstrId(rgstrId);
  322. bisInspBaseExt = bisInspBaseExtService.getBy(bisInspBaseExtParam);
  323. }
  324. return bisInspBaseExt == null ? new BisInspBaseExt() : bisInspBaseExt;
  325. }
  326. /**
  327. * 3 根据督查登记表ID获取三个责任人基本信息
  328. */
  329. BisInspBasePresExt getBisInspBasePresExtBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto) {
  330. BisInspBasePresExtParam bisInspBasePresExtParam = new BisInspBasePresExtParam();
  331. String rgstrId = bisInspRsvrRgstrPcDto.getRgstrId();
  332. BisInspBasePresExt inspBaseExt = new BisInspBasePresExt();
  333. if (rgstrId != null) {
  334. bisInspBasePresExtParam.setRgstrId(rgstrId);
  335. try {
  336. // 可能会返回多条,脏数据问题
  337. inspBaseExt = bisInspBasePresExtService.getBy(bisInspBasePresExtParam);
  338. } catch (Exception e) {
  339. e.printStackTrace();
  340. }
  341. }
  342. return inspBaseExt == null ? new BisInspBasePresExt() : inspBaseExt;
  343. }
  344. /**
  345. * 4 水库工程实体和运行管理情况
  346. */
  347. BisInspSafeExtManage getBisInspSafeExtManageBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto) {
  348. BisInspSafeExtManageParam safeExtManageParam = new BisInspSafeExtManageParam();
  349. String rgstrId = bisInspRsvrRgstrPcDto.getRgstrId();
  350. BisInspSafeExtManage bisInspSafeExtManage = new BisInspSafeExtManage();
  351. if (rgstrId != null) {
  352. safeExtManageParam.setRgstrId(rgstrId);
  353. try {
  354. // 可能会返回多条,脏数据问题
  355. List<BisInspSafeExtManage> bisInspSafeExtManageList = bisInspSafeExtManageService.findList(safeExtManageParam);
  356. if (bisInspSafeExtManageList.size() > 0) {
  357. bisInspSafeExtManage = bisInspSafeExtManageList.get(0);
  358. }
  359. } catch (Exception e) {
  360. e.printStackTrace();
  361. }
  362. }
  363. return bisInspSafeExtManage == null ? new BisInspSafeExtManage() : bisInspSafeExtManage;
  364. }
  365. /**
  366. * 水库工程实体
  367. */
  368. BisInspRsvrProject getBisInspRsvrProjectBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto) {
  369. BisInspRsvrProjectParam bisInspRsvrProjectParam = new BisInspRsvrProjectParam();
  370. String rgstrId = bisInspRsvrRgstrPcDto.getRgstrId();
  371. BisInspRsvrProject bisInspRsvrProject = new BisInspRsvrProject();
  372. if (rgstrId != null) {
  373. bisInspRsvrProjectParam.setRgstrId(rgstrId);
  374. try {
  375. // 可能会返回多条,脏数据问题
  376. List<BisInspRsvrProject> bisInspRsvrProjectList = bisInspRsvrProjectService.findList(bisInspRsvrProjectParam);
  377. if (bisInspRsvrProjectList.size() > 0) {
  378. bisInspRsvrProject = bisInspRsvrProjectList.get(0);
  379. }
  380. } catch (Exception e) {
  381. e.printStackTrace();
  382. }
  383. }
  384. return bisInspRsvrProject == null ? new BisInspRsvrProject() : bisInspRsvrProject;
  385. }
  386. /**
  387. * 6 效益发挥情况
  388. **/
  389. BisInspRsvrBenefits getBisInspRsvrBenefitsBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto) {
  390. BisInspRsvrBenefitsParam bisInspRsvrBenefitsParam = new BisInspRsvrBenefitsParam();
  391. String rgstrId = bisInspRsvrRgstrPcDto.getRgstrId();
  392. BisInspRsvrBenefits bisInspRsvrBenefits = new BisInspRsvrBenefits();
  393. if (rgstrId != null) {
  394. bisInspRsvrBenefitsParam.setRgstrId(rgstrId);
  395. try {
  396. // 可能会返回多条,脏数据问题
  397. List<BisInspRsvrBenefits> bisInspRsvrBenefitsList = bisInspRsvrBenefitsService.findList(bisInspRsvrBenefitsParam);
  398. if (bisInspRsvrBenefitsList.size() > 0) {
  399. bisInspRsvrBenefits = bisInspRsvrBenefitsList.get(0);
  400. }
  401. } catch (Exception e) {
  402. e.printStackTrace();
  403. }
  404. }
  405. return bisInspRsvrBenefits == null ? new BisInspRsvrBenefits() : bisInspRsvrBenefits;
  406. }
  407. /**
  408. * 5 走访情况
  409. */
  410. List<BisInspPreList> getBisInspPreListBy(BisInspRsvrRgstrPcDto bisInspRsvrRgstrPcDto) {
  411. BisInspBaseViewParam bisInspBaseViewParam = new BisInspBaseViewParam();
  412. String rgstrId = bisInspRsvrRgstrPcDto.getRgstrId();
  413. BisInspBaseView inspBaseView = new BisInspBaseView();
  414. if (rgstrId != null) {
  415. bisInspBaseViewParam.setRgstrId(rgstrId);
  416. inspBaseView = bisInspBaseViewService.getBy(bisInspBaseViewParam);
  417. }
  418. List<BisInspPreList> bisInspPreList = new ArrayList<>();
  419. if (inspBaseView != null) {
  420. BisInspPreListParam inspPreListParam = new BisInspPreListParam();
  421. inspPreListParam.setViewId(inspBaseView.getViewId());
  422. bisInspPreList = bisInspPreListService.findList(inspPreListParam);
  423. }
  424. return bisInspPreList;
  425. }
  426. /**
  427. * 一个HashMap对象存放其他信息
  428. */
  429. HashMap getHashMap(String adCode) {
  430. return createExcelHelper.getAdNames(adCode);
  431. }
  432. }