MsReportService.java 8.0 KB

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