7ccd0e4e2f4316ee5f823158083e3d4ab38f5231.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. package cn.com.goldenwater.dcproj.controller.general;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.model.BisInspAll;
  5. import cn.com.goldenwater.dcproj.model.BisInspKeyRegister;
  6. import cn.com.goldenwater.dcproj.param.TypeExportParam;
  7. import cn.com.goldenwater.dcproj.param.TypeParam;
  8. import cn.com.goldenwater.dcproj.service.GeneralDownloadService;
  9. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import io.swagger.annotations.ApiParam;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.slf4j.Logger;
  15. import org.slf4j.LoggerFactory;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.beans.factory.annotation.Value;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.io.*;
  22. import java.net.URLEncoder;
  23. import java.util.List;
  24. import java.util.Map;
  25. /**
  26. * @ClassName GeneralDownloadController
  27. * @Description 通用下载
  28. * @Author liyz
  29. * @Date 2019/3/6 10:26
  30. * @Version 1.0
  31. **/
  32. @Api(value = "通用下载", tags = "通用下载")
  33. @RestController
  34. @RequestMapping("/dc/gd/base")
  35. public class GeneralDownloadController extends BaseController {
  36. private Logger logger = LoggerFactory.getLogger(getClass());
  37. @Value("${export.basePath}")
  38. public String exportBasePath;
  39. @Autowired
  40. private GeneralDownloadService generalDownloadService;
  41. @Autowired
  42. private OlBisInspOrgService inspOrgService;
  43. @ApiOperation(value = "下载", notes = "")
  44. @RequestMapping(value = "/download/{uuid}", method = {RequestMethod.GET, RequestMethod.POST})
  45. public void downLoad(HttpServletResponse response, @PathVariable String uuid) {
  46. try {
  47. response.setCharacterEncoding("UTF-8");
  48. File file = new File(exportBasePath + File.separator
  49. + uuid + ".zip");
  50. if (file.exists()) {
  51. String name = "数据.zip";
  52. response.setContentType("application/octet-stream");
  53. response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(name, "UTF-8"));
  54. InputStream inputStream = new FileInputStream(file);
  55. OutputStream os = response.getOutputStream();
  56. int len = 0;
  57. byte[] buffer = new byte[4096];
  58. while ((len = inputStream.read(buffer, 0, buffer.length)) != -1) {
  59. os.write(buffer, 0, len);
  60. }
  61. inputStream.close();
  62. os.flush();
  63. os.close();
  64. }
  65. } catch (Exception e) {
  66. e.printStackTrace();
  67. }
  68. }
  69. @ApiOperation(value = "根据engId和tableId生成人饮Excel", notes = "")
  70. @RequestMapping(value = "/create", method = {RequestMethod.GET, RequestMethod.POST})
  71. public void createExcel(HttpServletResponse response, HttpServletRequest request,
  72. @RequestBody TypeExportParam typeExportParam) {
  73. try {
  74. response.setCharacterEncoding("UTF-8");
  75. response.setContentType("text/html;charset=utf-8");
  76. PrintWriter printWriter = response.getWriter();
  77. typeExportParam.setOrgId(getCurrentOrgId());
  78. generalDownloadService.createExcel(typeExportParam, printWriter);
  79. } catch (Exception e) {
  80. e.printStackTrace();
  81. }
  82. }
  83. @ApiOperation(value = "根据用户ID生成水毁Excel", notes = "")
  84. @RequestMapping(value = "/create/sh", method = {RequestMethod.GET, RequestMethod.POST})
  85. public void createShuiHuiExcel(HttpServletResponse response, HttpServletRequest request,
  86. @RequestBody TypeExportParam typeExportParam) {
  87. try {
  88. response.setCharacterEncoding("UTF-8");
  89. response.setContentType("text/html;charset=utf-8");
  90. PrintWriter printWriter = response.getWriter();
  91. typeExportParam.setOrgId(getCurrentOrgId());
  92. generalDownloadService.createShuiHuiExcel(typeExportParam, printWriter);
  93. } catch (Exception e) {
  94. e.printStackTrace();
  95. }
  96. }
  97. @ApiOperation(value = "根据用户id生成水库Excel", notes = "参数字段说明:{\n\r" +
  98. " \"type\":\"rsvr\",\n\r" +
  99. " \"presId\":\"用户id\",\n\r" +
  100. " \"pType\":\"1\",\n\r" +
  101. " \"tableIds\":\"选中的表的id的列表\",\n\r" +
  102. " \"ids\":\"选中的树的节点的id的列表\",\n\r" +
  103. " }")
  104. @RequestMapping(value = "/create/sk", method = {RequestMethod.GET, RequestMethod.POST})
  105. public void createShuiKuExcel(HttpServletResponse response, HttpServletRequest request,
  106. @RequestBody TypeExportParam typeExportParam) {
  107. try {
  108. response.setCharacterEncoding("UTF-8");
  109. response.setContentType("text/html;charset=utf-8");
  110. PrintWriter printWriter = response.getWriter();
  111. typeExportParam.setOrgId(getCurrentOrgId());
  112. generalDownloadService.createShuiKuExcel(typeExportParam, printWriter);
  113. } catch (Exception e) {
  114. e.printStackTrace();
  115. }
  116. }
  117. @ApiOperation(value = "根据presId获取adCode", notes = "")
  118. @RequestMapping(value = "/getadCodeByPresId", method = {RequestMethod.GET, RequestMethod.POST})
  119. public BaseResponse<String> getadCodeByPresId(@ApiParam(name = "presId", value = "presId") @RequestParam() String presId,
  120. @ApiParam(name = "ptype", value = "ptype") @RequestParam() String ptype) {
  121. String adCodes = "";
  122. try {
  123. adCodes = generalDownloadService.selectAdCodeByUserId(presId, ptype, getCurrentOrgId());
  124. } catch (Exception e) {
  125. e.printStackTrace();
  126. }
  127. return buildSuccessResponse(adCodes);
  128. }
  129. @ApiOperation(value = "根据presId获取pid", notes = "")
  130. @RequestMapping(value = "/getPidByPresId", method = {RequestMethod.GET, RequestMethod.POST})
  131. public BaseResponse<String> getPidByPresId(@ApiParam(name = "presId", value = "presId") @RequestParam() String presId,
  132. @ApiParam(name = "type", value = "type") @RequestParam() String type) {
  133. String pid = "";
  134. try {
  135. String adCode = inspOrgService.getProvince(getCurrentOrgId());
  136. pid = generalDownloadService.getPidByPersid(presId, type, adCode);
  137. } catch (Exception e) {
  138. e.printStackTrace();
  139. }
  140. return buildSuccessResponse(pid);
  141. }
  142. @ApiOperation(value = "根据用户名获取人饮所有节点", notes = "")
  143. @RequestMapping(value = "/getRyNode", method = RequestMethod.GET)
  144. public BaseResponse<List<BisInspAll>> getRyNode(
  145. @RequestParam(value = "userId", required = false) String userId,
  146. @RequestParam(value = "orgType", required = false) String orgType) {
  147. List<BisInspAll> list = generalDownloadService.getRyNode(userId, orgType, getCurrentOrgId());
  148. return buildSuccessResponse(list);
  149. }
  150. @ApiOperation(value = "根据用户名获取人饮所有节点(分省)", notes = "")
  151. @RequestMapping(value = "/getRyNodeProvincial", method = RequestMethod.GET)
  152. public BaseResponse<List<BisInspAll>> getRyNodeProvincial(
  153. @RequestParam(value = "userId", required = false) String userId,
  154. @RequestParam(value = "orgType", required = false) String orgType,
  155. @RequestParam(value = "level", required = false) String level) {
  156. String province = inspOrgService.getProvince(getCurrentOrgId());
  157. if (StringUtils.isNotBlank(province)) {
  158. province = province.substring(0, 2);
  159. }
  160. List<BisInspAll> list = generalDownloadService.getRyNodeProvincial(userId, orgType, level, province);
  161. return buildSuccessResponse(list);
  162. }
  163. @ApiOperation(value = "获取量化平凡左侧树,单独接口(分省)", notes = "")
  164. @RequestMapping(value = "/getRsraqgNodeProvincial", method = RequestMethod.GET)
  165. public BaseResponse<List<BisInspAll>> getRsraqgNodeProvincial(
  166. @RequestParam(value = "userId", required = false) String userId,
  167. @RequestParam(value = "level", required = false) String level) {
  168. String province = inspOrgService.getProvince(getCurrentOrgId());
  169. if (StringUtils.isNotBlank(province)) {
  170. province = province.substring(0, 2);
  171. }
  172. List<BisInspAll> list = generalDownloadService.getRsraqgNodeProvincial(userId, level, province);
  173. return buildSuccessResponse(list);
  174. }
  175. @ApiOperation(value = "获取报表左侧树通用接口,排除组")
  176. @RequestMapping(value = "/getNodeProvincialExceptGroup", method = RequestMethod.GET)
  177. public BaseResponse<List<BisInspAll>> getNodeProvincialExceptGroup(@RequestParam Map<String, String> param) {
  178. String province = inspOrgService.getProvinceFlag(getCurrentOrgId());
  179. param.put("province", province);
  180. param.put("userid", param.get("userId"));
  181. List<BisInspAll> list = generalDownloadService.getNodeProvincialExceptGroup(param);
  182. return buildSuccessResponse(list);
  183. }
  184. @ApiOperation(value = "根据用户名获取水资源所有节点(分省)", notes = "")
  185. @RequestMapping(value = "/getSzyNodeProvincial", method = RequestMethod.GET)
  186. public BaseResponse<List<BisInspAll>> getSzyNodeProvincial(
  187. @RequestParam(value = "userId", required = false) String userId) {
  188. List<BisInspAll> list = generalDownloadService.getSzyNodeProvincial(userId);
  189. return buildSuccessResponse(list);
  190. }
  191. @ApiOperation(value = "根据用户ID和督查类型获取流域节点")
  192. @RequestMapping(value = "/getLyNode", method = RequestMethod.GET)
  193. public BaseResponse<List<BisInspAll>> getLyNode(
  194. @RequestParam(value = "userId", required = false) String userId,
  195. @RequestParam(value = "orgType", required = false) String orgType) {
  196. List<BisInspAll> list = generalDownloadService.getLyNode(userId, orgType, getCurrentOrgId());
  197. return buildSuccessResponse(list);
  198. }
  199. @ApiOperation(value = "根据用户ID和工程类型获取工程节点 ")
  200. @RequestMapping(value = "/getGcNode", method = {RequestMethod.GET, RequestMethod.POST})
  201. public BaseResponse<List<BisInspKeyRegister>> getGcNode(@RequestBody TypeParam typeParam) {
  202. typeParam.setOrgId(getCurrentOrgId());
  203. List<BisInspKeyRegister> list = generalDownloadService.getGcNode(typeParam);
  204. return buildSuccessResponse(list);
  205. }
  206. }