3c6e1764d9c09a4fef4f296c78c528aae4df3bb5.svn-base 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. package cn.com.goldenwater.dcproj.controller.wintu;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto;
  5. import cn.com.goldenwater.dcproj.model.Aqsxkspqk;
  6. import cn.com.goldenwater.dcproj.model.BisInspWintuRgstr;
  7. import cn.com.goldenwater.dcproj.param.BisInspWintuRgstrParam;
  8. import cn.com.goldenwater.dcproj.param.FileParam;
  9. import cn.com.goldenwater.dcproj.param.TypeParam;
  10. import cn.com.goldenwater.dcproj.service.BisInspWintuRgstrService;
  11. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  12. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  13. import cn.com.goldenwater.dcproj.utils.Constant;
  14. import cn.com.goldenwater.dcproj.utils.impexcel.ExpAndImpUtil;
  15. import cn.com.goldenwater.dcproj.utils.impexcel.ImportExcel;
  16. import cn.com.goldenwater.dcproj.utils.impexcel.format.WintuFieldFromatImp;
  17. import cn.com.goldenwater.id.util.UuidUtil;
  18. import com.github.pagehelper.PageInfo;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import io.swagger.annotations.ApiParam;
  22. import org.apache.commons.lang3.StringUtils;
  23. import org.slf4j.Logger;
  24. import org.slf4j.LoggerFactory;
  25. import org.springframework.beans.factory.annotation.Autowired;
  26. import org.springframework.beans.factory.annotation.Value;
  27. import org.springframework.data.redis.core.RedisTemplate;
  28. import org.springframework.web.bind.annotation.*;
  29. import org.springframework.web.multipart.MultipartFile;
  30. import javax.servlet.http.HttpServletResponse;
  31. import java.io.IOException;
  32. import java.util.Date;
  33. import java.util.LinkedHashMap;
  34. import java.util.List;
  35. import java.util.Map;
  36. import static cn.com.goldenwater.dcproj.utils.impexcel.ImpUtil.getDateFormatPath;
  37. /**
  38. * @author lune
  39. * @date 2020-7-15
  40. */
  41. @Api(value = "BIS 取用水督查登记表管理",tags="BIS 取用水督查登记表管理")
  42. @RestController
  43. @RequestMapping("/bis/insp/wintu/rgstr")
  44. public class BisInspWintuRgstrController extends BaseController {
  45. private Logger logger = LoggerFactory.getLogger(getClass());
  46. @Autowired
  47. private BisInspWintuRgstrService bisInspWintuRgstrService;
  48. @Autowired
  49. private OlBisInspOrgService olBisInspOrgService;
  50. @Autowired
  51. private RedisTemplate redisTemplate;
  52. @Value("${export.templatePath}")
  53. private String templatePath;
  54. @Value("${impExcel.basePath}")
  55. private String impExcelPath;
  56. @ApiOperation(value = "添加/修改取用水督查登记表")
  57. @RequestMapping(value = "", method = RequestMethod.POST)
  58. public BaseResponse<BisInspWintuRgstr> insert(@ApiParam(name = "bisInspWintuRgstr", value = "BisInspWintuRgstr", required = true) @RequestBody BisInspWintuRgstr bisInspWintuRgstr) {
  59. if(StringUtils.isBlank(bisInspWintuRgstr.getId())) {
  60. // 生成uuid
  61. String uuid = UuidUtil.uuid();
  62. bisInspWintuRgstr.setId(uuid);
  63. bisInspWintuRgstr.setInTm(new Date());
  64. bisInspWintuRgstr.setMendLiftStat(Constant.STRING_ZERO);
  65. bisInspWintuRgstr.setChkInStat(Constant.STRING_ZERO);
  66. bisInspWintuRgstrService.insert(bisInspWintuRgstr);
  67. }else{
  68. bisInspWintuRgstr.setUpTm(new Date());
  69. bisInspWintuRgstrService.update(bisInspWintuRgstr);
  70. }
  71. return buildSuccessResponse(bisInspWintuRgstr);
  72. }
  73. @ApiOperation(value = "根据ID删除取用水督查登记表")
  74. @RequestMapping(value = "/del/{id}", method = RequestMethod.GET)
  75. public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  76. int ret = bisInspWintuRgstrService.delete(id);
  77. return buildSuccessResponse();
  78. }
  79. @ApiOperation(value = "根据ID获取取用水督查登记表(单表)")
  80. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  81. public BaseResponse<BisInspWintuRgstr> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  82. BisInspWintuRgstr bisInspWintuRgstr = bisInspWintuRgstrService.get(id);
  83. return buildSuccessResponse(bisInspWintuRgstr);
  84. }
  85. @ApiOperation(value = "获取取用水督查登记表(列表所有)")
  86. @RequestMapping(value = "/list", method = RequestMethod.POST)
  87. public BaseResponse<List<BisInspWintuRgstr>> list(@ApiParam(name = "bisInspWintuRgstrParam", value = "bisInspWintuRgstrParam", required = true) @RequestBody BisInspWintuRgstrParam bisInspWintuRgstrParam) {
  88. List<BisInspWintuRgstr> bisInspWintuRgstrList = bisInspWintuRgstrService.findList(bisInspWintuRgstrParam);
  89. return buildSuccessResponse(bisInspWintuRgstrList);
  90. }
  91. @ApiOperation(value = "获取取用水督查登记表(列表--分页)")
  92. @RequestMapping(value = "/page", method = RequestMethod.POST)
  93. public BaseResponse<PageInfo<BisInspWintuRgstr>> page(@ApiParam(name = "bisInspWintuRgstrParam", value = "bisInspWintuRgstrParam", required = true) @RequestBody BisInspWintuRgstrParam bisInspWintuRgstrParam) {
  94. PageInfo<BisInspWintuRgstr> bisInspWintuRgstrList = bisInspWintuRgstrService.findPageInfo(bisInspWintuRgstrParam);
  95. return buildSuccessResponse(bisInspWintuRgstrList);
  96. }
  97. @ApiOperation(value = "获取取用水督查列表")
  98. @RequestMapping(value = "/findWintuPage", method = RequestMethod.POST)
  99. public BaseResponse<PageInfo<BisInspRgstrDto>> findWintuPage(@RequestBody TypeParam param) {
  100. param.setProvince(AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId())));
  101. String adPr = AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId()));
  102. if (StringUtils.isBlank(param.getAdCode())) {
  103. param.setAdCode(adPr);
  104. }
  105. PageInfo<BisInspRgstrDto> bisInspWintuRgstrList = bisInspWintuRgstrService.findWintuPage(param);
  106. return buildSuccessResponse(bisInspWintuRgstrList);
  107. }
  108. @ApiOperation(value = "获取取水许可信息")
  109. @GetMapping("/permission/{id}")
  110. public BaseResponse<Aqsxkspqk> findPermissionInfo(@PathVariable String id){
  111. return buildSuccessResponse(bisInspWintuRgstrService.findPermissionInfo(id));
  112. }
  113. @ApiOperation(value = "获取问题信息")
  114. @GetMapping("/issue/{id}")
  115. public BaseResponse<Aqsxkspqk> findIssueInfo(@PathVariable String id){
  116. return buildSuccessResponse(bisInspWintuRgstrService.findIssueInfo(id));
  117. }
  118. @ApiOperation(value = "下载模板")
  119. @RequestMapping(value = "/downTemplate", method = {RequestMethod.GET, RequestMethod.POST})
  120. public BaseResponse downTemplate(HttpServletResponse response, TypeParam param) {
  121. try {
  122. bisInspWintuRgstrService.downloadTemplate(response, param);
  123. } catch (Exception e) {
  124. return buildFailResponse(e);
  125. }
  126. return buildSuccessResponse();
  127. }
  128. @ApiOperation(value = "上传模板")
  129. @RequestMapping(value = "/uploadTemplate", method = RequestMethod.POST)
  130. public BaseResponse uploadTemplate(MultipartFile file) {
  131. String filaPath = "";
  132. try {
  133. filaPath = ExpAndImpUtil.upload(file, getDateFormatPath(impExcelPath));
  134. } catch (Exception e) {
  135. return buildFailResponse(e);
  136. }
  137. return buildSuccessResponse(filaPath);
  138. }
  139. @ApiOperation(value = "解析文件上传数据")
  140. @RequestMapping(value = "/parseUpload", method = RequestMethod.POST)
  141. public BaseResponse<Map<String, Object>> parseUpload(FileParam param) {
  142. Map<String, Object> map = new LinkedHashMap<>();
  143. try {
  144. List<LinkedHashMap<String, Object>> list = ExpAndImpUtil.parseData(param.getPath(), param.getStartRow(), BisInspRgstrDto.class);
  145. if (list.size() > 0) {
  146. String uuid = UuidUtil.uuid();
  147. redisTemplate.opsForList().rightPushAll(uuid, list);
  148. map.put("dataId", uuid);
  149. }
  150. map.put("list", list);
  151. } catch (IOException e) {
  152. logger.error(String.valueOf(e));
  153. buildFailResponse(e.getMessage());
  154. }
  155. return buildSuccessResponse(map);
  156. }
  157. @ApiOperation(value = "文件数据入库")
  158. @RequestMapping(value = "/insertIntoData", method = RequestMethod.POST)
  159. public BaseResponse insertIntoData(FileParam param) {
  160. if (StringUtils.isBlank(param.getDataId())) {
  161. return buildFailResponse();
  162. }
  163. List<LinkedHashMap<String, Object>> list = redisTemplate.opsForList().range(param.getDataId(), 0, -1);
  164. redisTemplate.delete(param.getDataId());
  165. try {
  166. List<LinkedHashMap<String, Object>> showDataList = ImportExcel.getShowData(list, WintuFieldFromatImp.class);
  167. bisInspWintuRgstrService.insertIntoData(showDataList, param);
  168. } catch (Exception e) {
  169. return buildFailResponse();
  170. }
  171. return buildSuccessResponse();
  172. }
  173. }