BillSubsidyController.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package com.huimv.farm.damsubsidy.controller;
  2. import cn.hutool.core.date.DateUtil;
  3. import cn.hutool.core.lang.UUID;
  4. import com.huimv.farm.damsubsidy.common.utils.Result;
  5. import com.huimv.farm.damsubsidy.common.utils.UploadImage;
  6. import com.huimv.farm.damsubsidy.entity.BillSubsidy;
  7. import com.huimv.farm.damsubsidy.service.IBillSubsidyService;
  8. import com.huimv.farm.damsubsidy.common.utils.PdfUtil;
  9. import com.huimv.farm.test.Print;
  10. import com.spire.xls.FileFormat;
  11. import com.spire.xls.Workbook;
  12. import org.apache.tomcat.util.http.fileupload.FileUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.util.StringUtils;
  15. import org.springframework.web.bind.annotation.*;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.io.*;
  20. import java.nio.file.Files;
  21. import java.nio.file.Path;
  22. import java.nio.file.Paths;
  23. import java.util.Date;
  24. import java.util.HashMap;
  25. import java.util.Map;
  26. /**
  27. * <p>
  28. * 补贴信息表 前端控制器
  29. * </p>
  30. *
  31. * @author author
  32. * @since 2023-04-26
  33. */
  34. @RestController
  35. @RequestMapping("/bill-subsidy")
  36. @CrossOrigin
  37. public class BillSubsidyController {
  38. @Autowired
  39. private IBillSubsidyService iBillSubsidyService;
  40. @PostMapping("/addApplication")
  41. public Result addApplication(HttpServletRequest httpServletRequest, @RequestBody BillSubsidy billSubsidy){
  42. return iBillSubsidyService.addApplication(httpServletRequest,billSubsidy);
  43. }
  44. @PostMapping("/saveApplication")
  45. public Result saveApplication(HttpServletRequest httpServletRequest, @RequestBody BillSubsidy billSubsidy){
  46. return iBillSubsidyService.saveApplication(httpServletRequest,billSubsidy);
  47. }
  48. @Autowired
  49. private IBillSubsidyService subsidyService;
  50. @RequestMapping("/list")
  51. public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  52. return subsidyService.list(httpServletRequest, paramsMap);
  53. }
  54. @RequestMapping("/listById")
  55. public Result listById(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  56. return subsidyService.listById(httpServletRequest, paramsMap);
  57. }
  58. @RequestMapping("/edit")
  59. public Result edit(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  60. return subsidyService.edit(httpServletRequest, paramsMap);
  61. }
  62. @RequestMapping("/edit2")
  63. public Result edit2(HttpServletRequest httpServletRequest,
  64. @RequestParam("workImg") MultipartFile workImg,
  65. @RequestParam("id") String id,
  66. @RequestParam("type") String type,
  67. @RequestParam("rejectReason") String rejectReason) {
  68. String imgname = "成功";
  69. String originalFilename = workImg.getOriginalFilename();
  70. String filenameExtension = StringUtils.getFilenameExtension(originalFilename);
  71. String path = DateUtil.format(new Date(), "yyyy-MM");
  72. try {
  73. InputStream inputStream = workImg.getInputStream();
  74. BufferedInputStream in = new BufferedInputStream(inputStream);
  75. ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
  76. byte[] temp = new byte[1024];
  77. int size = 0;
  78. while ((size = in.read(temp)) != -1) {
  79. out.write(temp, 0, size);
  80. }
  81. in.close();
  82. byte[] content = out.toByteArray();
  83. imgname = UUID.randomUUID() + "." + filenameExtension;
  84. UploadImage.sshSftp(content, path, imgname);
  85. } catch (Exception e) {
  86. e.printStackTrace();
  87. }
  88. String content = "https://img.ifarmcloud.com/images/" + path + "/" + imgname;
  89. Map<String, String> map = new HashMap<>();
  90. map.put("id", id);
  91. map.put("type", type);
  92. map.put("rejectReason", rejectReason);
  93. map.put("workAccptUrl", content);
  94. return subsidyService.edit2(httpServletRequest, map);
  95. }
  96. @RequestMapping("/appeal")
  97. public Result appeal(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  98. return subsidyService.appeal(httpServletRequest, paramsMap);
  99. }
  100. @PostMapping("/editApplication")
  101. public Result editApplication(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> parasMap){
  102. return iBillSubsidyService.editApplication(httpServletRequest,parasMap);
  103. }
  104. @PostMapping("/listApplication")
  105. public Result listApplication(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> parasMap){
  106. return iBillSubsidyService.listApplication(httpServletRequest,parasMap);
  107. }
  108. @PostMapping("/getLast")
  109. public Result getLast(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> parasMap){
  110. return iBillSubsidyService.getLast(httpServletRequest,parasMap);
  111. }
  112. @PostMapping("/listPcSub")
  113. public Result listPcSub(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> parasMap){
  114. return subsidyService.listPcSub(httpServletRequest,parasMap);
  115. }
  116. @PostMapping("/listFlow")
  117. public Result listFlow(@RequestBody Map<String, String> parasMap){
  118. return iBillSubsidyService.listFlow(parasMap);
  119. }
  120. //打印
  121. @GetMapping("/print")
  122. public void print(HttpServletResponse response, HttpServletRequest httpServletRequest,@RequestParam(name = "id", required = true) Integer id) throws Exception {
  123. // Integer id=Integer.parseInt(parasMap.get("id"));
  124. BillSubsidy subsidy = subsidyService.getById(id);
  125. Print.print(subsidy);
  126. String path = "/opt/subsidy/order_contract.xls";
  127. //加载Excel文档
  128. Workbook wb = new Workbook();
  129. wb.loadFromFile(path);
  130. //调用方法保存为PDF格式
  131. String pdfPath = "/opt/subsidy/"+subsidy.getFarmerName()+".pdf";
  132. wb.saveToFile(pdfPath, FileFormat.PDF);
  133. // wb.getConverterSetting().setSheetFitToPage(true);
  134. // OutputStream outputStream = null;
  135. // wb.saveToStream(outputStream);
  136. PdfUtil.returnPdfStream2(response,pdfPath,subsidy.getFarmerName());
  137. //文件删除 TODO
  138. // File file = new File("G://"+subsidy.getFarmerName() + ".pdf");
  139. //
  140. // FileUtils.forceDelete(file);
  141. // Path path1 = Paths.get("/opt/subsidy/"+subsidy.getFarmerName()+".pdf");
  142. // Files.delete(path1);
  143. // Path path2 = Paths.get("/opt/subsidy/"+"order_contract"+".xls");
  144. // Files.delete(path2);
  145. }
  146. }