MsReportService.java 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626
  1. package com.bofeng.service;
  2. import com.baomidou.mybatisplus.toolkit.IdWorker;
  3. import com.bofeng.dao.*;
  4. import com.bofeng.entity.*;
  5. import org.apache.commons.lang3.tuple.Triple;
  6. import org.joda.time.DateTime;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Service;
  9. import org.springframework.transaction.annotation.Propagation;
  10. import org.springframework.transaction.annotation.Transactional;
  11. import java.math.BigDecimal;
  12. import java.text.SimpleDateFormat;
  13. import java.util.Calendar;
  14. import java.util.Date;
  15. import java.util.List;
  16. import java.util.Map;
  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 MsTripDetMapper msTripDetMapper;
  32. @Autowired
  33. private MsTripMapper msTripMapper;
  34. @Autowired
  35. private UptownUnitMapper uptownUnitMapper;
  36. public List<MsSuspected> getByReportId(Long reportId) {
  37. List<MsSuspected> listSuspected = null;
  38. listSuspected = msSuspectedMapper.selectByReportId(reportId);
  39. if (listSuspected != null && listSuspected.size() > 0) {
  40. String tripDet;
  41. for (MsSuspected msSuspected : listSuspected) {
  42. tripDet = "";
  43. //出行详细
  44. List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
  45. if (listDet != null && listDet.size() > 0) {
  46. for (MsTripDet msTripDet : listDet) {
  47. tripDet += "出发地:" + getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
  48. tripDet += "目的地:" + getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
  49. tripDet += "出行方式:" + getTripType(msTripDet.getTripType()) + ",";
  50. tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
  51. }
  52. msSuspected.setTripDet(tripDet.substring(0, tripDet.length() - 1));
  53. }
  54. }
  55. }
  56. return listSuspected;
  57. }
  58. public MsReport getByReport(Long reportId) {
  59. return msReportMapper.selectById(reportId);
  60. }
  61. //获取前一天数据
  62. public List<MsSuspected> getByReportReportDate(String reportDate, Long userCreate) {
  63. List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
  64. List<MsSuspected> listSuspected = null;
  65. if (listReport != null && listReport.size() > 0) {
  66. listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport.get(0).getReportId().toString()));
  67. if (listSuspected != null && listSuspected.size() > 0) {
  68. String tripDet;
  69. for (MsSuspected msSuspected : listSuspected) {
  70. tripDet = "";
  71. //出行详细
  72. List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
  73. if (listDet != null && listDet.size() > 0) {
  74. for (MsTripDet msTripDet : listDet) {
  75. tripDet += "出发地:" + getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
  76. tripDet += "目的地:" + getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
  77. tripDet += "出行方式:" + getTripType(msTripDet.getTripType()) + ",";
  78. tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
  79. }
  80. msSuspected.setTripDet(tripDet.substring(0, tripDet.length() - 1));
  81. }
  82. }
  83. }
  84. }
  85. return listSuspected;
  86. }
  87. //获取日历前一天数据
  88. public List<MsSuspected> getByReportReportDateStatus(String reportDate, Long userCreate) {
  89. List<MsReport> listReport = msReportMapper.selectByReportDateStatus(reportDate, userCreate);
  90. List<MsSuspected> listSuspected = null;
  91. if (listReport != null && listReport.size() > 0) {
  92. listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport.get(0).getReportId().toString()));
  93. if (listSuspected != null && listSuspected.size() > 0) {
  94. String tripDet;
  95. for (MsSuspected msSuspected : listSuspected) {
  96. tripDet = "";
  97. //出行详细
  98. List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
  99. if (listDet != null && listDet.size() > 0) {
  100. for (MsTripDet msTripDet : listDet) {
  101. tripDet += "出发地:" + getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
  102. tripDet += "目的地:" + getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
  103. tripDet += "出行方式:" + getTripType(msTripDet.getTripType()) + ",";
  104. tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
  105. }
  106. msSuspected.setTripDet(tripDet.substring(0, tripDet.length() - 1));
  107. }
  108. }
  109. }
  110. }
  111. return listSuspected;
  112. }
  113. public String getLocalOther(Integer local, String localOther) {
  114. String localDet = "";
  115. if (local == 1) {
  116. localDet = "武汉市";
  117. } else if (local == 2)
  118. localDet = "宜昌市";
  119. else if (local == 3)
  120. localDet = "当阳市";
  121. else if (local == 4)
  122. localDet = "其它地点_" + localOther;
  123. return localDet;
  124. }
  125. public String getTripType(Integer tripType) {
  126. String tripTypeDet = "";
  127. if (tripType == 1) {
  128. tripTypeDet = "长途汽车";
  129. } else if (tripType == 2)
  130. tripTypeDet = "火车";
  131. else if (tripType == 3)
  132. tripTypeDet = "飞机";
  133. else if (tripType == 4)
  134. tripTypeDet = "自驾";
  135. return tripTypeDet;
  136. }
  137. //获取今天数据
  138. public MsReport getReportByDateNow(Long userCreate) {
  139. //根据昨天的获取今天的
  140. //msReportService.getNowByYesterday(userCreate);
  141. //msReportService.getNowByYesterdayDate();
  142. //msReportService.addReport250();
  143. Date t = new Date();
  144. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  145. String reportDate = df.format(t);
  146. List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
  147. MsReport msReport = new MsReport();
  148. //今天不存在
  149. if (listReport == null || listReport.size() == 0) {
  150. //最近一天数据复制到今天
  151. msReportService.getNowByNextDat(userCreate);
  152. List<MsReport> listReport1 = msReportMapper.selectByReportDate(reportDate, userCreate);
  153. //今天不存在
  154. if (listReport1 != null && listReport1.size() > 0)
  155. msReport = msReportMapper.selectById(Long.parseLong(listReport1.get(0).getReportId().toString()));
  156. } else {
  157. msReport = msReportMapper.selectById(Long.parseLong(listReport.get(0).getReportId().toString()));
  158. }
  159. return msReport;
  160. }
  161. //上报
  162. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  163. public Integer addReport(Long userCreate) {
  164. Date t = new Date();
  165. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  166. String reportDate = df.format(t);
  167. List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
  168. if (listReport == null || listReport.size() == 0)
  169. return 0;
  170. //判断体温是否填写
  171. List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport.get(0).getReportId().toString()));
  172. if (listSuspected == null || listSuspected.size() == 0)
  173. return 3;
  174. // if (unit != null) {
  175. // if (unit.getUptownId() == 1238790987234L || unit.getUptownId() == 5) {
  176. // if (listSuspected != null && listSuspected.size() > 1)
  177. // return 5;
  178. // }
  179. // }
  180. else {
  181. for (MsSuspected msSuspected : listSuspected) {
  182. //体温是否填写
  183. if (msSuspected.getTemperature().compareTo(new BigDecimal(0)) == 0)
  184. return 2;
  185. //如果是凌云,判断出行是否填写异常
  186. UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userCreate);
  187. if (unit != null) {
  188. if (unit.getUptownId() == 1238790987234L || unit.getUptownId() == 5) {
  189. //上一天的上报记录.3天内
  190. List<MsSuspected> listSuspected1 = msSuspectedMapper.selectNext3Suspected(userCreate);
  191. if (listSuspected1 != null && listSuspected1.size() == 1) {
  192. if (listSuspected1.get(0).getTodayLocal() != 0 && msSuspected.getTodayLocal() != 0) {
  193. if (listSuspected1.get(0).getTodayLocalOther() != msSuspected.getTodayLocalOther() && listSuspected1.get(0).getTodayLocal() != msSuspected.getTodayLocal() && msSuspected.getIsTrip() == 0) {
  194. return 4;
  195. }
  196. }
  197. }
  198. }
  199. }
  200. }
  201. }
  202. MsReport msReport = msReportMapper.selectById(Long.parseLong(listReport.get(0).getReportId().toString()));
  203. if (msReport != null) {
  204. msReport.setReportStatus(1);
  205. msReport.setUserUpdate(userCreate);
  206. msReport.setTimeUpdate(DateTime.now());
  207. msReportMapper.updateById(msReport);
  208. }
  209. return 1;
  210. }
  211. //通过昨天数据更新今天数据
  212. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  213. public void getNowByYesterday(Long userCreate) {
  214. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  215. Date d = new Date();
  216. //判断今天是否有数据
  217. String DateNow = sj.format(d);
  218. List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
  219. if (listReport != null && listReport.size() > 0)
  220. return;
  221. //判断昨天是否有数据
  222. Calendar calendar = Calendar.getInstance();
  223. calendar.setTime(d);
  224. calendar.add(Calendar.DATE, -1);
  225. String reportDate = sj.format(calendar.getTime());
  226. List<MsReport> listReport1 = msReportMapper.selectByReportDate(reportDate, userCreate);
  227. //有数据
  228. if (listReport1 != null && listReport1.size() > 0) {
  229. //添加到今天日报
  230. MsReport msReport = msReportMapper.selectById(Long.parseLong(listReport1.get(0).getReportId().toString()));
  231. Long reportId = 0L;
  232. if (msReport != null) {
  233. MsReport msReport1 = new MsReport();
  234. msReport1.setReportId(IdWorker.getId());
  235. msReport1.setHouseId(msReport.getHouseId());
  236. msReport1.setSafetyNum(msReport.getSafetyNum());
  237. msReport1.setSureNum(msReport.getSureNum());
  238. msReport1.setSuspectedNum(msReport.getSuspectedNum());
  239. msReport1.setNormalNum(msReport.getNormalNum());
  240. msReport1.setSingleNum(msReport.getSingleNum());
  241. msReport1.setRemarks(msReport.getRemarks());
  242. msReport1.setReportDate(DateTime.now().toDate());
  243. msReport1.setReportStatus(0);//未上报
  244. msReport1.setMsStatus(msReport.getMsStatus());
  245. msReport1.setUserCreate(userCreate);
  246. msReport1.setTimeCreate(DateTime.now());
  247. msReport1.setUserUpdate(userCreate);
  248. msReport1.setTimeUpdate(DateTime.now());
  249. msReportMapper.insert(msReport1);
  250. reportId = msReport1.getReportId();
  251. }
  252. //添加今日家庭
  253. List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport1.get(0).getReportId().toString()));
  254. if (listSuspected != null && listSuspected.size() > 0) {
  255. for (MsSuspected msSuspected : listSuspected) {
  256. MsSuspected msSuspected1 = new MsSuspected();
  257. msSuspected1.setSuspectedId(IdWorker.getId());
  258. msSuspected1.setReportId(reportId);
  259. msSuspected1.setUserName(msSuspected.getUserName());
  260. msSuspected1.setGrender(msSuspected.getGrender());
  261. msSuspected1.setAge(msSuspected.getAge());
  262. msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
  263. msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
  264. msSuspected1.setMedical(msSuspected.getMedical());
  265. msSuspected1.setTemperature(new BigDecimal(0));
  266. msSuspected1.setCough(msSuspected.getCough());
  267. msSuspected1.setMuscle(msSuspected.getMuscle());
  268. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  269. msSuspected1.setFatigue(msSuspected.getFatigue());
  270. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  271. msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
  272. msSuspected1.setOthers(msSuspected.getOthers());
  273. // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
  274. // msSuspected1.setScore(msSuspected.getScore());
  275. // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
  276. // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
  277. msSuspected1.setSuspectedStatus(0);
  278. msSuspected1.setUserCreate(userCreate);
  279. msSuspected1.setTimeCreate(DateTime.now());
  280. msSuspected1.setUserUpdate(userCreate);
  281. msSuspected1.setTimeUpdate(DateTime.now());
  282. msSuspectedMapper.insert(msSuspected1);
  283. }
  284. }
  285. }
  286. }
  287. //自动将用户最新的数据更新到今天
  288. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  289. public void getNowByYesterdayDate() {
  290. //每次执行100条
  291. Long start = 0L, count = 100L;
  292. while (true) {
  293. //今天以前一共有多少用户
  294. List<Long> listUser = msReportMapper.getUserByYesterdayDate(start, count);
  295. if (listUser != null && listUser.size() > 0) {
  296. for (Long userCreate : listUser) {
  297. //判断用户今天是否有数据
  298. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  299. Date d = new Date();
  300. String DateNow = sj.format(d);
  301. List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
  302. if (listReport != null && listReport.size() > 0)
  303. continue;
  304. //查询改用户今天以前的最近一条记录
  305. List<MsReport> listReport1 = msReportMapper.getNowByYesterdayDate(userCreate);
  306. if (listReport1 != null && listReport1.size() > 0) {
  307. for (MsReport msReport : listReport1) {
  308. if (msReport != null) {
  309. //添加日报
  310. MsReport msReport1 = new MsReport();
  311. msReport1.setReportId(IdWorker.getId());
  312. msReport1.setHouseId(msReport.getHouseId());
  313. msReport1.setSafetyNum(msReport.getSafetyNum());
  314. msReport1.setSureNum(msReport.getSureNum());
  315. msReport1.setSuspectedNum(msReport.getSuspectedNum());
  316. msReport1.setNormalNum(msReport.getNormalNum());
  317. msReport1.setSingleNum(msReport.getSingleNum());
  318. msReport1.setRemarks(msReport.getRemarks());
  319. msReport1.setReportDate(DateTime.now().toDate());
  320. msReport1.setReportStatus(0);//未上报
  321. msReport1.setMsStatus(msReport.getMsStatus());
  322. msReport1.setUserCreate(msReport.getUserCreate());
  323. msReport1.setTimeCreate(DateTime.now());
  324. msReport1.setUserUpdate(msReport.getUserCreate());
  325. msReport1.setTimeUpdate(DateTime.now());
  326. msReportMapper.insert(msReport1);
  327. //添加家人
  328. List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(msReport.getReportId());
  329. if (listSuspected != null && listSuspected.size() > 0) {
  330. for (MsSuspected msSuspected : listSuspected) {
  331. MsSuspected msSuspected1 = new MsSuspected();
  332. msSuspected1.setSuspectedId(IdWorker.getId());
  333. msSuspected1.setReportId(msReport1.getReportId());
  334. msSuspected1.setUserName(msSuspected.getUserName());
  335. msSuspected1.setGrender(msSuspected.getGrender());
  336. msSuspected1.setAge(msSuspected.getAge());
  337. msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
  338. msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
  339. msSuspected1.setMedical(msSuspected.getMedical());
  340. msSuspected1.setTemperature(new BigDecimal(0));//温度0
  341. msSuspected1.setCough(msSuspected.getCough());
  342. msSuspected1.setMuscle(msSuspected.getMuscle());
  343. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  344. msSuspected1.setFatigue(msSuspected.getFatigue());
  345. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  346. msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
  347. msSuspected1.setOthers(msSuspected.getOthers());
  348. // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
  349. // msSuspected1.setScore(msSuspected.getScore());
  350. // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
  351. // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
  352. msSuspected1.setSuspectedStatus(0);
  353. msSuspected1.setUserCreate(msSuspected.getUserCreate());
  354. msSuspected1.setTimeCreate(DateTime.now());
  355. msSuspected1.setUserUpdate(msSuspected.getUserUpdate());
  356. msSuspected1.setTimeUpdate(DateTime.now());
  357. msSuspectedMapper.insert(msSuspected1);
  358. }
  359. }
  360. }
  361. }
  362. }
  363. }
  364. }
  365. start += count;
  366. if (listUser == null || listUser.size() < count) {
  367. break;
  368. }
  369. }
  370. }
  371. //添加250条记录
  372. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  373. public void addReport250() {
  374. //每次执行100条
  375. Long count = 0L;
  376. while (true) {
  377. //添加日报
  378. MsReport msReport1 = new MsReport();
  379. msReport1.setReportId(IdWorker.getId());
  380. msReport1.setHouseId(0L);
  381. msReport1.setSafetyNum(0);
  382. msReport1.setSureNum(0);
  383. msReport1.setSuspectedNum(0);
  384. msReport1.setNormalNum(0);
  385. msReport1.setSingleNum(0);
  386. msReport1.setRemarks("");
  387. msReport1.setReportDate(DateTime.now().toDate());
  388. msReport1.setReportStatus(0);//未上报
  389. msReport1.setMsStatus(0);
  390. msReport1.setUserCreate(count);
  391. msReport1.setTimeCreate(DateTime.now());
  392. msReport1.setUserUpdate(count);
  393. msReport1.setTimeUpdate(DateTime.now());
  394. count += msReportMapper.insert(msReport1);
  395. if (count > 250) {
  396. break;
  397. }
  398. }
  399. }
  400. //通过最近一天数据更新今天数据
  401. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  402. public void getNowByNextDat(Long userCreate) {
  403. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  404. Date d = new Date();
  405. //判断今天是否有数据
  406. String DateNow = sj.format(d);
  407. List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
  408. if (listReport != null && listReport.size() > 0)
  409. return;
  410. UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userCreate);
  411. //判断最近一天是否有数据
  412. List<MsSuspected> listSuspected = msSuspectedMapper.selectNextSuspected(userCreate);
  413. //有数据
  414. if (listSuspected != null && listSuspected.size() > 0) {
  415. //添加到今天日报
  416. MsReport msReport = msReportMapper.selectById(Long.parseLong(listSuspected.get(0).getReportId().toString()));
  417. Long reportId = 0L;
  418. Long houseId = 0L;
  419. if (msReport != null) {
  420. MsReport msReport1 = new MsReport();
  421. msReport1.setReportId(IdWorker.getId());
  422. if (msReport.getHouseId().longValue() == 0L)
  423. houseId = msReportMapper.selectHouseIdByUserId(userCreate);
  424. else
  425. houseId = msReport.getHouseId();
  426. msReport1.setHouseId(houseId);
  427. msReport1.setSafetyNum(msReport.getSafetyNum());
  428. msReport1.setSureNum(msReport.getSureNum());
  429. msReport1.setSuspectedNum(msReport.getSuspectedNum());
  430. msReport1.setNormalNum(msReport.getNormalNum());
  431. msReport1.setSingleNum(msReport.getSingleNum());
  432. msReport1.setRemarks(msReport.getRemarks());
  433. msReport1.setReportDate(DateTime.now().toDate());
  434. msReport1.setReportStatus(0);//未上报
  435. msReport1.setMsStatus(msReport.getMsStatus());
  436. msReport1.setUserCreate(userCreate);
  437. msReport1.setTimeCreate(DateTime.now());
  438. msReport1.setUserUpdate(userCreate);
  439. msReport1.setTimeUpdate(DateTime.now());
  440. msReportMapper.insert(msReport1);
  441. reportId = msReport1.getReportId();
  442. }
  443. //添加今日家人
  444. for (MsSuspected msSuspected : listSuspected) {
  445. MsSuspected msSuspected1 = new MsSuspected();
  446. msSuspected1.setSuspectedId(IdWorker.getId());
  447. msSuspected1.setReportId(reportId);
  448. msSuspected1.setUserName(msSuspected.getUserName());
  449. msSuspected1.setGrender(msSuspected.getGrender());
  450. msSuspected1.setAge(msSuspected.getAge());
  451. msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
  452. msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
  453. msSuspected1.setMedical(msSuspected.getMedical());
  454. msSuspected1.setTemperature(new BigDecimal(0));
  455. msSuspected1.setCough(msSuspected.getCough());
  456. msSuspected1.setMuscle(msSuspected.getMuscle());
  457. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  458. msSuspected1.setFatigue(msSuspected.getFatigue());
  459. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  460. //如果是凌云的,不需要复制单间隔离
  461. if (unit != null) {
  462. if (unit.getUptownId() == 1238790987234L || unit.getUptownId() == 5)
  463. msSuspected1.setSingleRoom(0);
  464. } else
  465. msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
  466. msSuspected1.setOthers(msSuspected.getOthers());
  467. // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
  468. // msSuspected1.setScore(msSuspected.getScore());
  469. // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
  470. // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
  471. msSuspected1.setSuspectedStatus(0);
  472. msSuspected1.setUserCreate(userCreate);
  473. msSuspected1.setTimeCreate(DateTime.now());
  474. msSuspected1.setUserUpdate(userCreate);
  475. msSuspected1.setTimeUpdate(DateTime.now());
  476. msSuspectedMapper.insert(msSuspected1);
  477. //添加行程
  478. MsTrip msTrip = new MsTrip();
  479. msTrip.setTripId(msSuspected1.getSuspectedId());
  480. msTrip.setIsTrip(msSuspected.getIsTrip());
  481. msTrip.setTodayLocal(msSuspected.getTodayLocal());
  482. msTrip.setTodayLocalOther(msSuspected.getTodayLocalOther());
  483. msTrip.setWorkLocal(msSuspected.getWorkLocal());
  484. msTrip.setWorkLocalOther(msSuspected.getWorkLocalOther());
  485. msTripMapper.insert(msTrip);
  486. //添加出行详细
  487. List<MsTripDet> listTripDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
  488. if (listTripDet != null && listTripDet.size() > 0) {
  489. for (MsTripDet msTripDet : listTripDet) {
  490. MsTripDet msTripDet1 = new MsTripDet();
  491. msTripDet1.setTripDetId(IdWorker.getId());
  492. msTripDet1.setTripId(msSuspected1.getSuspectedId());
  493. msTripDet1.setSort(msTripDet.getSort());
  494. msTripDet1.setStartLocal(msTripDet.getStartLocal());
  495. msTripDet1.setStartLocalOther(msTripDet.getStartLocalOther());
  496. msTripDet1.setEndLocal(msTripDet.getEndLocal());
  497. msTripDet1.setEndLocalOther(msTripDet.getEndLocalOther());
  498. msTripDet1.setTripType(msTripDet.getTripType());
  499. msTripDet1.setTripTypeDesp(msTripDet.getTripTypeDesp());
  500. msTripDet1.setTimeCreate(DateTime.now());
  501. msTripDet1.setUserCreate(userCreate);
  502. msTripDet1.setTimeUpdate(DateTime.now());
  503. msTripDet1.setUserUpdate(userCreate);
  504. msTripDetMapper.insert(msTripDet1);
  505. }
  506. }
  507. }
  508. }
  509. }
  510. //获取时间
  511. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  512. public String getTimeByDate(Integer numdate) {
  513. String reportDate = "";
  514. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  515. Date d = new Date();
  516. if (numdate == 0) {
  517. reportDate = sj.format(d);
  518. } else {
  519. Calendar calendar = Calendar.getInstance();
  520. calendar.setTime(d);
  521. calendar.add(Calendar.DATE, numdate);
  522. reportDate = sj.format(calendar.getTime());
  523. }
  524. return reportDate;
  525. }
  526. //获取温度
  527. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  528. public String getTemperature(Long userId, Integer numdate) {
  529. String temperature = "-";
  530. MsSuspected msSuspected = msReportMapper.select5ByReportrId(userId, getTimeByDate(numdate));
  531. if (msSuspected != null)
  532. temperature = msSuspected.getTemperature().toString();
  533. return temperature;
  534. }
  535. //后台专用
  536. public List<MsReport> getByReportReportDateTest(Long userCreate, Map<String, Object> queryParam) {
  537. Map<String, Object> mm = queryParam;
  538. queryParam.put("userCreate", userCreate);
  539. return msReportMapper.selectByReportDateTest(queryParam);
  540. }
  541. public List<MsSuspected> getByReportReportDateTestxq(Map<String, Object> queryParam) {
  542. List<MsSuspected> msReports = msReportMapper.selectByReportDateTestxq(queryParam);
  543. if (msReports.size() != 0) {
  544. for (int i = 0; i < msReports.size(); i++) {
  545. if (msReports.get(i).getWorkLocal() == 1) {
  546. msReports.get(i).setWorkLocalOtherStr("武汉市");
  547. } else if (msReports.get(i).getWorkLocal() == 2) {
  548. msReports.get(i).setWorkLocalOtherStr("宜昌市");
  549. } else if (msReports.get(i).getWorkLocal() == 3) {
  550. msReports.get(i).setWorkLocalOtherStr("当阳市");
  551. }
  552. if (msReports.get(i).getTodayLocal() == 1) {
  553. msReports.get(i).setTodayLocalOtherStr("武汉市");
  554. } else if (msReports.get(i).getTodayLocal() == 2) {
  555. msReports.get(i).setTodayLocalOtherStr("宜昌市");
  556. } else if (msReports.get(i).getTodayLocal() == 3) {
  557. msReports.get(i).setTodayLocalOtherStr("当阳市");
  558. }
  559. if (msReports.get(i).getEndLocal() != null) {
  560. if (msReports.get(i).getEndLocal() == 1) {
  561. msReports.get(i).setEndLocalOtherStr("武汉市");
  562. } else if (msReports.get(i).getEndLocal() == 2) {
  563. msReports.get(i).setEndLocalOtherStr("宜昌市");
  564. } else if (msReports.get(i).getEndLocal() == 3) {
  565. msReports.get(i).setEndLocalOtherStr("当阳市");
  566. }
  567. }
  568. if (msReports.get(i).getStartLocal() != null) {
  569. if (msReports.get(i).getStartLocal() == 1) {
  570. msReports.get(i).setStartLocalOtherStr("武汉市");
  571. } else if (msReports.get(i).getStartLocal() == 2) {
  572. msReports.get(i).setStartLocalOtherStr("宜昌市");
  573. } else if (msReports.get(i).getStartLocal() == 3) {
  574. msReports.get(i).setStartLocalOtherStr("当阳市");
  575. }
  576. }
  577. }
  578. }
  579. return msReports;
  580. }
  581. }