EpiLYExportController.java 14 KB

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