MsReportService.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package com.bofeng.service;
  2. import com.baomidou.mybatisplus.toolkit.IdWorker;
  3. import com.bofeng.dao.MsReportMapper;
  4. import com.bofeng.dao.MsSuspectedMapper;
  5. import com.bofeng.entity.MsReport;
  6. import com.bofeng.entity.MsSuspected;
  7. import org.joda.time.DateTime;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.transaction.annotation.Propagation;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.math.BigDecimal;
  13. import java.text.SimpleDateFormat;
  14. import java.util.Calendar;
  15. import java.util.Date;
  16. import java.util.List;
  17. /**
  18. * @Author: xielianghe
  19. * @Date: 2020/2/4 15:44
  20. */
  21. @Service
  22. @Transactional()
  23. public class MsReportService {
  24. @Autowired
  25. private MsSuspectedMapper msSuspectedMapper;
  26. @Autowired
  27. private MsReportMapper msReportMapper;
  28. @Autowired
  29. private MsReportService msReportService;
  30. public List<MsSuspected> getByReportId(Long reportId) {
  31. return msSuspectedMapper.selectByReportId(reportId);
  32. }
  33. public MsReport getByReport(Long reportId) {
  34. return msReportMapper.selectById(reportId);
  35. }
  36. //获取前一天数据
  37. public List<MsSuspected> getByReportReportDate(String reportDate, Long userCreate) {
  38. List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
  39. List<MsSuspected> listSuspected = null;
  40. if (listReport != null && listReport.size() > 0) {
  41. listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport.get(0).getReportId().toString()));
  42. }
  43. return listSuspected;
  44. }
  45. //获取今天数据
  46. public MsReport getReportByDateNow(Long userCreate) {
  47. //根据昨天的获取今天的
  48. msReportService.getNowByYesterday(userCreate);
  49. Date t = new Date();
  50. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  51. String reportDate = df.format(t);
  52. List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
  53. MsReport msReport = new MsReport();
  54. if (listReport != null && listReport.size() > 0) {
  55. msReport = msReportMapper.selectById(Long.parseLong(listReport.get(0).getReportId().toString()));
  56. }
  57. return msReport;
  58. }
  59. //上报
  60. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  61. public Integer addReport(Long userCreate) {
  62. Date t = new Date();
  63. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  64. String reportDate = df.format(t);
  65. List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
  66. if (listReport == null || listReport.size() == 0)
  67. return 0;
  68. //判断体温是否填写
  69. List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport.get(0).getReportId().toString()));
  70. if (listSuspected == null || listSuspected.size() == 0)
  71. return 3;
  72. else {
  73. for (MsSuspected msSuspected : listSuspected) {
  74. if (msSuspected.getTemperature().compareTo(new BigDecimal(0)) == 0)
  75. return 2;
  76. }
  77. }
  78. MsReport msReport = msReportMapper.selectById(Long.parseLong(listReport.get(0).getReportId().toString()));
  79. if (msReport != null) {
  80. msReport.setReportStatus(1);
  81. msReport.setUserUpdate(userCreate);
  82. msReport.setTimeUpdate(DateTime.now());
  83. msReportMapper.updateById(msReport);
  84. }
  85. return 1;
  86. }
  87. //通过昨天数据更新今天数据
  88. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  89. public void getNowByYesterday(Long userCreate) {
  90. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  91. Date d = new Date();
  92. //判断今天是否有数据
  93. String DateNow = sj.format(d);
  94. List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
  95. if (listReport != null && listReport.size() > 0)
  96. return;
  97. //判断昨天是否有数据
  98. Calendar calendar = Calendar.getInstance();
  99. calendar.setTime(d);
  100. calendar.add(Calendar.DATE, -1);
  101. String reportDate = sj.format(calendar.getTime());
  102. List<MsReport> listReport1 = msReportMapper.selectByReportDate(reportDate, userCreate);
  103. //有数据
  104. if (listReport1 != null && listReport1.size() > 0) {
  105. //添加到今天日报
  106. MsReport msReport = msReportMapper.selectById(Long.parseLong(listReport1.get(0).getReportId().toString()));
  107. Long reportId = 0L;
  108. if (msReport != null) {
  109. MsReport msReport1 = new MsReport();
  110. msReport1.setReportId(IdWorker.getId());
  111. msReport1.setHouseId(msReport.getHouseId());
  112. msReport1.setSafetyNum(msReport.getSafetyNum());
  113. msReport1.setSureNum(msReport.getSureNum());
  114. msReport1.setSuspectedNum(msReport.getSuspectedNum());
  115. msReport1.setNormalNum(msReport.getNormalNum());
  116. msReport1.setSingleNum(msReport.getSingleNum());
  117. msReport1.setRemarks(msReport.getRemarks());
  118. msReport1.setReportDate(DateTime.now().toDate());
  119. msReport1.setReportStatus(0);//未上报
  120. msReport1.setMsStatus(msReport.getMsStatus());
  121. msReport1.setUserCreate(userCreate);
  122. msReport1.setTimeCreate(DateTime.now());
  123. msReport1.setUserUpdate(userCreate);
  124. msReport1.setTimeUpdate(DateTime.now());
  125. msReportMapper.insert(msReport1);
  126. reportId = msReport1.getReportId();
  127. }
  128. //添加今日家庭
  129. List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport1.get(0).getReportId().toString()));
  130. if (listSuspected != null && listSuspected.size() > 0) {
  131. for (MsSuspected msSuspected : listSuspected) {
  132. MsSuspected msSuspected1 = new MsSuspected();
  133. msSuspected1.setSuspectedId(IdWorker.getId());
  134. msSuspected1.setReportId(reportId);
  135. msSuspected1.setUserName(msSuspected.getUserName());
  136. msSuspected1.setGrender(msSuspected.getGrender());
  137. msSuspected1.setAge(msSuspected.getAge());
  138. msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
  139. msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
  140. msSuspected1.setMedical(msSuspected.getMedical());
  141. msSuspected1.setTemperature(new BigDecimal(0));
  142. msSuspected1.setCough(msSuspected.getCough());
  143. msSuspected1.setMuscle(msSuspected.getMuscle());
  144. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  145. msSuspected1.setFatigue(msSuspected.getFatigue());
  146. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  147. msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
  148. msSuspected1.setOthers(msSuspected.getOthers());
  149. msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
  150. msSuspected1.setScore(msSuspected.getScore());
  151. msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
  152. msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
  153. msSuspected1.setSuspectedStatus(0);
  154. msSuspected1.setUserCreate(userCreate);
  155. msSuspected1.setTimeCreate(DateTime.now());
  156. msSuspected1.setUserUpdate(userCreate);
  157. msSuspected1.setTimeUpdate(DateTime.now());
  158. msSuspectedMapper.insert(msSuspected1);
  159. }
  160. }
  161. }
  162. }
  163. }