EpiLYExportController.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. package com.bofeng.controller;
  2. import com.bofeng.dao.MsReportMapper;
  3. import com.bofeng.dao.UserOpenMapper;
  4. import com.bofeng.entity.*;
  5. import com.bofeng.service.MsReportService;
  6. import com.bofeng.service.MsTripService;
  7. import com.bofeng.word.WordUtils;
  8. import com.google.common.collect.Lists;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.web.bind.annotation.GetMapping;
  12. import org.springframework.web.bind.annotation.ResponseBody;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import javax.servlet.http.HttpServletRequest;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.io.IOException;
  17. import java.text.SimpleDateFormat;
  18. import java.util.*;
  19. @RestController
  20. public class EpiLYExportController {
  21. @Autowired
  22. private UserOpenMapper userOpenMapper;
  23. @Autowired
  24. private MsReportMapper msReportMapper;
  25. @Autowired
  26. private MsTripService msTripService;
  27. @Autowired
  28. private MsReportService msReportService;
  29. @ApiOperation("导出单个健康及旅居申报表")
  30. @GetMapping("/whepi/export/lyReport")
  31. public @ResponseBody
  32. void exportSellPlan(HttpServletRequest request, HttpServletResponse response) {
  33. Long userId = Long.parseLong(request.getParameter("userId"));
  34. String userName = "", workPlace = "", telPhone = "", isLeave = "", trip = "", blackTime = "", veicle = "", otherSymptom = "", isTrue = "";
  35. //用户姓名,电话
  36. UserOpen userOpen = userOpenMapper.selectUserBaseByUserId(userId);
  37. if (userOpen != null) {
  38. userName = userOpen.getLinkman();
  39. telPhone = userOpen.getPhone();
  40. }
  41. //工作驻地
  42. MsTrip msTrip = msReportMapper.selectWorkByUserId(userId);
  43. if (msTrip != null)
  44. workPlace = msReportService.getLocalOther(msTrip.getWorkLocal(), msTrip.getWorkLocalOther());
  45. //是否离开过驻地
  46. MsTrip msTrip1 = msReportMapper.selectIsTripByUserId(userId);
  47. if (msTrip1 == null)
  48. isLeave = "否";
  49. else
  50. isLeave = "是";
  51. //15日居住地
  52. List<MsTrip> listMsTrip = msReportMapper.select15TripByUserId(userId);
  53. if (listMsTrip != null && listMsTrip.size() > 0) {
  54. for (MsTrip msTrip2 : listMsTrip) {
  55. if (msReportService.getLocalOther(msTrip2.getTodayLocal(), msTrip2.getTodayLocalOther()) != "")
  56. trip += msReportService.getLocalOther(msTrip2.getTodayLocal(), msTrip2.getTodayLocalOther()) + ",";
  57. }
  58. trip = trip.substring(0, trip.length() - 1);
  59. }
  60. //返回时间
  61. MsReport msReport = msReportMapper.selectBackTripByUserId(userId);
  62. if (msReport != null) {
  63. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  64. blackTime = sj.format(msReport.getReportDate());
  65. //返回交通工具
  66. List<MsTripDet> listMsTripDet = msReportMapper.selectBackTripByReportrId(msReport.getReportId());
  67. if (listMsTripDet != null && listMsTripDet.size() > 0) {
  68. for (MsTripDet msTripDet : listMsTripDet) {
  69. veicle += msReportService.getTripType(msTripDet.getTripType()) + ",";
  70. }
  71. veicle = veicle.substring(0, veicle.length() - 1);
  72. }
  73. }
  74. Map<String, Object> map = new HashMap<String, Object>();
  75. map.put("userName", userName);
  76. map.put("workPlace", workPlace);
  77. map.put("telPhone", telPhone);
  78. map.put("isLeave", isLeave);
  79. map.put("trip", trip);
  80. map.put("backTime", blackTime);
  81. map.put("vehicle", veicle);
  82. Map<String, Object> rt = new HashMap<String, Object>();
  83. map.put("rt", rt);
  84. for (int i = 1; i <= 5; i++) {
  85. rt.put("d" + i, msReportService.getTimeByDate(i - 5));
  86. rt.put("t" + i, msReportService.getTemperature(userId, i - 5));
  87. }
  88. //是否有其他症状
  89. List<MsSuspected> listSuspected1 = msReportMapper.selectOtherSymptomByReportrId(userId);
  90. if (listSuspected1 != null && listSuspected1.size() > 0)
  91. otherSymptom = "是";
  92. else
  93. otherSymptom = "否";
  94. map.put("otherSymptom", otherSymptom);
  95. Integer sureNum = msReportMapper.selectisSuspectedNum(userId);
  96. if (sureNum == 0)
  97. isTrue = "否";
  98. else
  99. isTrue = "是";
  100. //是否确诊
  101. map.put("isTrue", isTrue);
  102. WordUtils.exportWord("word/健康及旅居申报表_20200221.docx", "temp", "健康及旅居申报表.docx", map, request, response);
  103. }
  104. @ApiOperation("导出多个健康及旅居申报表")
  105. @GetMapping("/whepi/export/lyReports")
  106. public @ResponseBody
  107. void exportSellPlan2(HttpServletRequest request, HttpServletResponse response) {
  108. String userIds = request.getParameter("userId");
  109. String[] listUserId = userIds.split(",");
  110. List<Map<String, Object>> list = Lists.newArrayList();
  111. for (String userStringId : listUserId) {
  112. Long userId = Long.parseLong(userStringId);
  113. String userName = "", workPlace = "", telPhone = "", isLeave = "", trip = "", blackTime = "", veicle = "", otherSymptom = "", isTrue = "";
  114. //用户姓名,电话
  115. UserOpen userOpen = userOpenMapper.selectUserBaseByUserId(userId);
  116. if (userOpen != null) {
  117. userName = userOpen.getLinkman();
  118. telPhone = userOpen.getPhone();
  119. }
  120. //工作驻地
  121. MsTrip msTrip = msReportMapper.selectWorkByUserId(userId);
  122. if (msTrip != null)
  123. workPlace = msReportService.getLocalOther(msTrip.getWorkLocal(), msTrip.getWorkLocalOther());
  124. //是否离开过驻地
  125. MsTrip msTrip1 = msReportMapper.selectIsTripByUserId(userId);
  126. if (msTrip1 == null)
  127. isLeave = "否";
  128. else
  129. isLeave = "是";
  130. //15日居住地
  131. List<MsTrip> listMsTrip = msReportMapper.select15TripByUserId(userId);
  132. if (listMsTrip != null && listMsTrip.size() > 0) {
  133. for (MsTrip msTrip2 : listMsTrip) {
  134. if (msReportService.getLocalOther(msTrip2.getTodayLocal(), msTrip2.getTodayLocalOther()) != "")
  135. trip += msReportService.getLocalOther(msTrip2.getTodayLocal(), msTrip2.getTodayLocalOther()) + ",";
  136. }
  137. trip = trip.substring(0, trip.length() - 1);
  138. }
  139. //返回时间
  140. MsReport msReport = msReportMapper.selectBackTripByUserId(userId);
  141. if (msReport != null) {
  142. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  143. blackTime = sj.format(msReport.getReportDate());
  144. //返回交通工具
  145. List<MsTripDet> listMsTripDet = msReportMapper.selectBackTripByReportrId(msReport.getReportId());
  146. if (listMsTripDet != null && listMsTripDet.size() > 0) {
  147. for (MsTripDet msTripDet : listMsTripDet) {
  148. veicle += msReportService.getTripType(msTripDet.getTripType()) + ",";
  149. }
  150. veicle = veicle.substring(0, veicle.length() - 1);
  151. }
  152. }
  153. Map<String, Object> map = new HashMap<String, Object>();
  154. map.put("userName", userName);
  155. map.put("workPlace", workPlace);
  156. map.put("telPhone", telPhone);
  157. map.put("isLeave", isLeave);
  158. map.put("trip", trip);
  159. map.put("backTime", blackTime);
  160. map.put("vehicle", veicle);
  161. Map<String, Object> rt = new HashMap<String, Object>();
  162. map.put("rt", rt);
  163. for (int i = 1; i <= 5; i++) {
  164. rt.put("d" + i, msReportService.getTimeByDate(i - 5));
  165. rt.put("t" + i, msReportService.getTemperature(userId, i - 5));
  166. }
  167. //是否有其他症状
  168. List<MsSuspected> listSuspected1 = msReportMapper.selectOtherSymptomByReportrId(userId);
  169. if (listSuspected1 != null && listSuspected1.size() > 0)
  170. otherSymptom = "是";
  171. else
  172. otherSymptom = "否";
  173. map.put("otherSymptom", otherSymptom);
  174. Integer sureNum = msReportMapper.selectisSuspectedNum(userId);
  175. if (sureNum == 0)
  176. isTrue = "否";
  177. else
  178. isTrue = "是";
  179. //是否确诊
  180. map.put("isTrue", isTrue);
  181. list.add(map);
  182. }
  183. WordUtils.exportWord("word/健康及旅居申报表_20200221.docx", "temp", "健康及旅居申报表.docx", list, request, response);
  184. }
  185. @ApiOperation("导出单个隔离人员解除隔离审批表")
  186. @GetMapping("/whepi/export/lyApprove")
  187. public @ResponseBody
  188. void lyApprove(HttpServletRequest request, HttpServletResponse response) {
  189. Long userId = Long.parseLong(request.getParameter("userId"));
  190. String userName = "", org = "", gander = "", bAddr = "", backDate = "", otherSymptom = "";
  191. //用户姓名,部门
  192. UserOpen userOpen = userOpenMapper.selectUserBaseByUserId(userId);
  193. if (userOpen != null) {
  194. userName = userOpen.getLinkman();
  195. org = userOpen.getRidgepole() + userOpen.getUnit();
  196. }
  197. //性别
  198. //性别
  199. List<MsSuspected> ListMsSuspected = msReportMapper.selectGrenderUserId(userId);
  200. if(ListMsSuspected!=null && ListMsSuspected.size()>1)
  201. return;
  202. if (ListMsSuspected!=null && ListMsSuspected.size()==1){
  203. if (ListMsSuspected.get(0).getGrender() == 1)
  204. gander = "男";
  205. if (ListMsSuspected.get(0).getGrender() == 2)
  206. gander = "女";
  207. }
  208. //返回时间
  209. MsReport msReport = msReportMapper.selectBackTripByUserId(userId);
  210. if (msReport != null) {
  211. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  212. backDate = sj.format(msReport.getReportDate());
  213. bAddr = msReportService.getLocalOther(msReport.getTodayLocal(), msReport.getTodayLocalOther());
  214. }
  215. Map<String, Object> map = new HashMap<String, Object>();
  216. map.put("userName", userName);
  217. map.put("gander", gander);
  218. map.put("org", org);
  219. map.put("bAddr", bAddr);
  220. map.put("backDate", backDate);
  221. //最近15天体温
  222. Map<String, Object> rt = new HashMap<String, Object>();
  223. map.put("rt", rt);
  224. for (int i = 1; i <= 15; i++) {
  225. rt.put("d" + i, msReportService.getTimeByDate(i - 15));
  226. rt.put("t" + i, msReportService.getTemperature(userId, i - 15));
  227. }
  228. List<MsSuspected> listSuspected1 = msReportMapper.selectOtherSymptomByReportrId(userId);
  229. if (listSuspected1 != null && listSuspected1.size() > 0)
  230. otherSymptom = "是";
  231. else
  232. otherSymptom = "否";
  233. map.put("otherSymptom", otherSymptom);
  234. WordUtils.exportWord("word/隔离人员解除隔离审批表_20200221.docx", "temp", "隔离人员解除隔离审批表.docx", map, request, response);
  235. }
  236. @ApiOperation("导出多个隔离人员解除隔离审批表")
  237. @GetMapping("/whepi/export/lyApproves")
  238. public @ResponseBody
  239. void lyApproves(HttpServletRequest request, HttpServletResponse response) {
  240. String userIds = request.getParameter("userId");
  241. String[] listUserId = userIds.split(",");
  242. List<Map<String, Object>> list = Lists.newArrayList();
  243. for (String userStringId : listUserId) {
  244. Long userId = Long.parseLong(userStringId);
  245. String userName = "", org = "", gander = "", bAddr = "", backDate = "", otherSymptom = "";
  246. //用户姓名,部门
  247. UserOpen userOpen = userOpenMapper.selectUserBaseByUserId(userId);
  248. if (userOpen != null) {
  249. userName = userOpen.getLinkman();
  250. org = userOpen.getRidgepole() + userOpen.getUnit();
  251. }
  252. //性别
  253. List<MsSuspected> ListMsSuspected = msReportMapper.selectGrenderUserId(userId);
  254. if(ListMsSuspected!=null && ListMsSuspected.size()>1)
  255. return;
  256. if (ListMsSuspected!=null && ListMsSuspected.size()==1){
  257. if (ListMsSuspected.get(0).getGrender() == 1)
  258. gander = "男";
  259. if (ListMsSuspected.get(0).getGrender() == 2)
  260. gander = "女";
  261. }
  262. //返回时间
  263. MsReport msReport = msReportMapper.selectBackTripByUserId(userId);
  264. if (msReport != null) {
  265. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  266. backDate = sj.format(msReport.getReportDate());
  267. bAddr = msReportService.getLocalOther(msReport.getTodayLocal(), msReport.getTodayLocalOther());
  268. }
  269. Map<String, Object> map = new HashMap<String, Object>();
  270. map.put("userName", userName);
  271. map.put("gander", gander);
  272. map.put("org", org);
  273. map.put("bAddr", bAddr);
  274. map.put("backDate", backDate);
  275. //最近15天体温
  276. Map<String, Object> rt = new HashMap<String, Object>();
  277. map.put("rt", rt);
  278. for (int i = 1; i <= 15; i++) {
  279. rt.put("d" + i, msReportService.getTimeByDate(i - 15));
  280. rt.put("t" + i, msReportService.getTemperature(userId, i - 15));
  281. }
  282. List<MsSuspected> listSuspected1 = msReportMapper.selectOtherSymptomByReportrId(userId);
  283. if (listSuspected1 != null && listSuspected1.size() > 0)
  284. otherSymptom = "是";
  285. else
  286. otherSymptom = "否";
  287. map.put("otherSymptom", otherSymptom);
  288. list.add(map);
  289. }
  290. WordUtils.exportWord("word/隔离人员解除隔离审批表_20200221.docx", "temp", "隔离人员解除隔离审批表.docx", list, request, response);
  291. }
  292. }