MsReportService.java 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618
  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() > 0) {
  192. if (listSuspected1.get(0).getTodayLocalOther() != msSuspected.getTodayLocalOther() && listSuspected1.get(0).getTodayLocal() != msSuspected.getTodayLocal() && msSuspected.getIsTrip() == 0) {
  193. return 4;
  194. }
  195. }
  196. }
  197. }
  198. }
  199. }
  200. MsReport msReport = msReportMapper.selectById(Long.parseLong(listReport.get(0).getReportId().toString()));
  201. if (msReport != null) {
  202. msReport.setReportStatus(1);
  203. msReport.setUserUpdate(userCreate);
  204. msReport.setTimeUpdate(DateTime.now());
  205. msReportMapper.updateById(msReport);
  206. }
  207. return 1;
  208. }
  209. //通过昨天数据更新今天数据
  210. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  211. public void getNowByYesterday(Long userCreate) {
  212. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  213. Date d = new Date();
  214. //判断今天是否有数据
  215. String DateNow = sj.format(d);
  216. List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
  217. if (listReport != null && listReport.size() > 0)
  218. return;
  219. //判断昨天是否有数据
  220. Calendar calendar = Calendar.getInstance();
  221. calendar.setTime(d);
  222. calendar.add(Calendar.DATE, -1);
  223. String reportDate = sj.format(calendar.getTime());
  224. List<MsReport> listReport1 = msReportMapper.selectByReportDate(reportDate, userCreate);
  225. //有数据
  226. if (listReport1 != null && listReport1.size() > 0) {
  227. //添加到今天日报
  228. MsReport msReport = msReportMapper.selectById(Long.parseLong(listReport1.get(0).getReportId().toString()));
  229. Long reportId = 0L;
  230. if (msReport != null) {
  231. MsReport msReport1 = new MsReport();
  232. msReport1.setReportId(IdWorker.getId());
  233. msReport1.setHouseId(msReport.getHouseId());
  234. msReport1.setSafetyNum(msReport.getSafetyNum());
  235. msReport1.setSureNum(msReport.getSureNum());
  236. msReport1.setSuspectedNum(msReport.getSuspectedNum());
  237. msReport1.setNormalNum(msReport.getNormalNum());
  238. msReport1.setSingleNum(msReport.getSingleNum());
  239. msReport1.setRemarks(msReport.getRemarks());
  240. msReport1.setReportDate(DateTime.now().toDate());
  241. msReport1.setReportStatus(0);//未上报
  242. msReport1.setMsStatus(msReport.getMsStatus());
  243. msReport1.setUserCreate(userCreate);
  244. msReport1.setTimeCreate(DateTime.now());
  245. msReport1.setUserUpdate(userCreate);
  246. msReport1.setTimeUpdate(DateTime.now());
  247. msReportMapper.insert(msReport1);
  248. reportId = msReport1.getReportId();
  249. }
  250. //添加今日家庭
  251. List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport1.get(0).getReportId().toString()));
  252. if (listSuspected != null && listSuspected.size() > 0) {
  253. for (MsSuspected msSuspected : listSuspected) {
  254. MsSuspected msSuspected1 = new MsSuspected();
  255. msSuspected1.setSuspectedId(IdWorker.getId());
  256. msSuspected1.setReportId(reportId);
  257. msSuspected1.setUserName(msSuspected.getUserName());
  258. msSuspected1.setGrender(msSuspected.getGrender());
  259. msSuspected1.setAge(msSuspected.getAge());
  260. msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
  261. msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
  262. msSuspected1.setMedical(msSuspected.getMedical());
  263. msSuspected1.setTemperature(new BigDecimal(0));
  264. msSuspected1.setCough(msSuspected.getCough());
  265. msSuspected1.setMuscle(msSuspected.getMuscle());
  266. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  267. msSuspected1.setFatigue(msSuspected.getFatigue());
  268. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  269. msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
  270. msSuspected1.setOthers(msSuspected.getOthers());
  271. // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
  272. // msSuspected1.setScore(msSuspected.getScore());
  273. // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
  274. // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
  275. msSuspected1.setSuspectedStatus(0);
  276. msSuspected1.setUserCreate(userCreate);
  277. msSuspected1.setTimeCreate(DateTime.now());
  278. msSuspected1.setUserUpdate(userCreate);
  279. msSuspected1.setTimeUpdate(DateTime.now());
  280. msSuspectedMapper.insert(msSuspected1);
  281. }
  282. }
  283. }
  284. }
  285. //自动将用户最新的数据更新到今天
  286. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  287. public void getNowByYesterdayDate() {
  288. //每次执行100条
  289. Long start = 0L, count = 100L;
  290. while (true) {
  291. //今天以前一共有多少用户
  292. List<Long> listUser = msReportMapper.getUserByYesterdayDate(start, count);
  293. if (listUser != null && listUser.size() > 0) {
  294. for (Long userCreate : listUser) {
  295. //判断用户今天是否有数据
  296. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  297. Date d = new Date();
  298. String DateNow = sj.format(d);
  299. List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
  300. if (listReport != null && listReport.size() > 0)
  301. continue;
  302. //查询改用户今天以前的最近一条记录
  303. List<MsReport> listReport1 = msReportMapper.getNowByYesterdayDate(userCreate);
  304. if (listReport1 != null && listReport1.size() > 0) {
  305. for (MsReport msReport : listReport1) {
  306. if (msReport != null) {
  307. //添加日报
  308. MsReport msReport1 = new MsReport();
  309. msReport1.setReportId(IdWorker.getId());
  310. msReport1.setHouseId(msReport.getHouseId());
  311. msReport1.setSafetyNum(msReport.getSafetyNum());
  312. msReport1.setSureNum(msReport.getSureNum());
  313. msReport1.setSuspectedNum(msReport.getSuspectedNum());
  314. msReport1.setNormalNum(msReport.getNormalNum());
  315. msReport1.setSingleNum(msReport.getSingleNum());
  316. msReport1.setRemarks(msReport.getRemarks());
  317. msReport1.setReportDate(DateTime.now().toDate());
  318. msReport1.setReportStatus(0);//未上报
  319. msReport1.setMsStatus(msReport.getMsStatus());
  320. msReport1.setUserCreate(msReport.getUserCreate());
  321. msReport1.setTimeCreate(DateTime.now());
  322. msReport1.setUserUpdate(msReport.getUserCreate());
  323. msReport1.setTimeUpdate(DateTime.now());
  324. msReportMapper.insert(msReport1);
  325. //添加家人
  326. List<MsSuspected> listSuspected = msSuspectedMapper.selectByReportId(msReport.getReportId());
  327. if (listSuspected != null && listSuspected.size() > 0) {
  328. for (MsSuspected msSuspected : listSuspected) {
  329. MsSuspected msSuspected1 = new MsSuspected();
  330. msSuspected1.setSuspectedId(IdWorker.getId());
  331. msSuspected1.setReportId(msReport1.getReportId());
  332. msSuspected1.setUserName(msSuspected.getUserName());
  333. msSuspected1.setGrender(msSuspected.getGrender());
  334. msSuspected1.setAge(msSuspected.getAge());
  335. msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
  336. msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
  337. msSuspected1.setMedical(msSuspected.getMedical());
  338. msSuspected1.setTemperature(new BigDecimal(0));//温度0
  339. msSuspected1.setCough(msSuspected.getCough());
  340. msSuspected1.setMuscle(msSuspected.getMuscle());
  341. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  342. msSuspected1.setFatigue(msSuspected.getFatigue());
  343. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  344. msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
  345. msSuspected1.setOthers(msSuspected.getOthers());
  346. // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
  347. // msSuspected1.setScore(msSuspected.getScore());
  348. // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
  349. // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
  350. msSuspected1.setSuspectedStatus(0);
  351. msSuspected1.setUserCreate(msSuspected.getUserCreate());
  352. msSuspected1.setTimeCreate(DateTime.now());
  353. msSuspected1.setUserUpdate(msSuspected.getUserUpdate());
  354. msSuspected1.setTimeUpdate(DateTime.now());
  355. msSuspectedMapper.insert(msSuspected1);
  356. }
  357. }
  358. }
  359. }
  360. }
  361. }
  362. }
  363. start += count;
  364. if (listUser == null || listUser.size() < count) {
  365. break;
  366. }
  367. }
  368. }
  369. //添加250条记录
  370. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  371. public void addReport250() {
  372. //每次执行100条
  373. Long count = 0L;
  374. while (true) {
  375. //添加日报
  376. MsReport msReport1 = new MsReport();
  377. msReport1.setReportId(IdWorker.getId());
  378. msReport1.setHouseId(0L);
  379. msReport1.setSafetyNum(0);
  380. msReport1.setSureNum(0);
  381. msReport1.setSuspectedNum(0);
  382. msReport1.setNormalNum(0);
  383. msReport1.setSingleNum(0);
  384. msReport1.setRemarks("");
  385. msReport1.setReportDate(DateTime.now().toDate());
  386. msReport1.setReportStatus(0);//未上报
  387. msReport1.setMsStatus(0);
  388. msReport1.setUserCreate(count);
  389. msReport1.setTimeCreate(DateTime.now());
  390. msReport1.setUserUpdate(count);
  391. msReport1.setTimeUpdate(DateTime.now());
  392. count += msReportMapper.insert(msReport1);
  393. if (count > 250) {
  394. break;
  395. }
  396. }
  397. }
  398. //通过最近一天数据更新今天数据
  399. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  400. public void getNowByNextDat(Long userCreate) {
  401. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  402. Date d = new Date();
  403. //判断今天是否有数据
  404. String DateNow = sj.format(d);
  405. List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
  406. if (listReport != null && listReport.size() > 0)
  407. return;
  408. UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userCreate);
  409. //判断最近一天是否有数据
  410. List<MsSuspected> listSuspected = msSuspectedMapper.selectNextSuspected(userCreate);
  411. //有数据
  412. if (listSuspected != null && listSuspected.size() > 0) {
  413. //添加到今天日报
  414. MsReport msReport = msReportMapper.selectById(Long.parseLong(listSuspected.get(0).getReportId().toString()));
  415. Long reportId = 0L;
  416. if (msReport != null) {
  417. MsReport msReport1 = new MsReport();
  418. msReport1.setReportId(IdWorker.getId());
  419. msReport1.setHouseId(msReport.getHouseId());
  420. msReport1.setSafetyNum(msReport.getSafetyNum());
  421. msReport1.setSureNum(msReport.getSureNum());
  422. msReport1.setSuspectedNum(msReport.getSuspectedNum());
  423. msReport1.setNormalNum(msReport.getNormalNum());
  424. msReport1.setSingleNum(msReport.getSingleNum());
  425. msReport1.setRemarks(msReport.getRemarks());
  426. msReport1.setReportDate(DateTime.now().toDate());
  427. msReport1.setReportStatus(0);//未上报
  428. msReport1.setMsStatus(msReport.getMsStatus());
  429. msReport1.setUserCreate(userCreate);
  430. msReport1.setTimeCreate(DateTime.now());
  431. msReport1.setUserUpdate(userCreate);
  432. msReport1.setTimeUpdate(DateTime.now());
  433. msReportMapper.insert(msReport1);
  434. reportId = msReport1.getReportId();
  435. }
  436. //添加今日家人
  437. for (MsSuspected msSuspected : listSuspected) {
  438. MsSuspected msSuspected1 = new MsSuspected();
  439. msSuspected1.setSuspectedId(IdWorker.getId());
  440. msSuspected1.setReportId(reportId);
  441. msSuspected1.setUserName(msSuspected.getUserName());
  442. msSuspected1.setGrender(msSuspected.getGrender());
  443. msSuspected1.setAge(msSuspected.getAge());
  444. msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
  445. msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
  446. msSuspected1.setMedical(msSuspected.getMedical());
  447. msSuspected1.setTemperature(new BigDecimal(0));
  448. msSuspected1.setCough(msSuspected.getCough());
  449. msSuspected1.setMuscle(msSuspected.getMuscle());
  450. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  451. msSuspected1.setFatigue(msSuspected.getFatigue());
  452. msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
  453. //如果是凌云的,不需要复制单间隔离
  454. if (unit != null) {
  455. if (unit.getUptownId() == 1238790987234L || unit.getUptownId() == 5)
  456. msSuspected1.setSingleRoom(0);
  457. } else
  458. msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
  459. msSuspected1.setOthers(msSuspected.getOthers());
  460. // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
  461. // msSuspected1.setScore(msSuspected.getScore());
  462. // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
  463. // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
  464. msSuspected1.setSuspectedStatus(0);
  465. msSuspected1.setUserCreate(userCreate);
  466. msSuspected1.setTimeCreate(DateTime.now());
  467. msSuspected1.setUserUpdate(userCreate);
  468. msSuspected1.setTimeUpdate(DateTime.now());
  469. msSuspectedMapper.insert(msSuspected1);
  470. //添加行程
  471. MsTrip msTrip = new MsTrip();
  472. msTrip.setTripId(msSuspected1.getSuspectedId());
  473. msTrip.setIsTrip(msSuspected.getIsTrip());
  474. msTrip.setTodayLocal(msSuspected.getTodayLocal());
  475. msTrip.setTodayLocalOther(msSuspected.getTodayLocalOther());
  476. msTrip.setWorkLocal(msSuspected.getWorkLocal());
  477. msTrip.setWorkLocalOther(msSuspected.getWorkLocalOther());
  478. msTripMapper.insert(msTrip);
  479. //添加出行详细
  480. List<MsTripDet> listTripDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
  481. if (listTripDet != null && listTripDet.size() > 0) {
  482. for (MsTripDet msTripDet : listTripDet) {
  483. MsTripDet msTripDet1 = new MsTripDet();
  484. msTripDet1.setTripDetId(IdWorker.getId());
  485. msTripDet1.setTripId(msSuspected1.getSuspectedId());
  486. msTripDet1.setSort(msTripDet.getSort());
  487. msTripDet1.setStartLocal(msTripDet.getStartLocal());
  488. msTripDet1.setStartLocalOther(msTripDet.getStartLocalOther());
  489. msTripDet1.setEndLocal(msTripDet.getEndLocal());
  490. msTripDet1.setEndLocalOther(msTripDet.getEndLocalOther());
  491. msTripDet1.setTripType(msTripDet.getTripType());
  492. msTripDet1.setTripTypeDesp(msTripDet.getTripTypeDesp());
  493. msTripDet1.setTimeCreate(DateTime.now());
  494. msTripDet1.setUserCreate(userCreate);
  495. msTripDet1.setTimeUpdate(DateTime.now());
  496. msTripDet1.setUserUpdate(userCreate);
  497. msTripDetMapper.insert(msTripDet1);
  498. }
  499. }
  500. }
  501. }
  502. }
  503. //获取时间
  504. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  505. public String getTimeByDate(Integer numdate) {
  506. String reportDate = "";
  507. SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
  508. Date d = new Date();
  509. if (numdate == 0) {
  510. reportDate = sj.format(d);
  511. } else {
  512. Calendar calendar = Calendar.getInstance();
  513. calendar.setTime(d);
  514. calendar.add(Calendar.DATE, numdate);
  515. reportDate = sj.format(calendar.getTime());
  516. }
  517. return reportDate;
  518. }
  519. //获取温度
  520. @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
  521. public String getTemperature(Long userId, Integer numdate) {
  522. String temperature = "-";
  523. MsSuspected msSuspected = msReportMapper.select5ByReportrId(userId, getTimeByDate(numdate));
  524. if (msSuspected != null)
  525. temperature = msSuspected.getTemperature().toString();
  526. return temperature;
  527. }
  528. //后台专用
  529. public List<MsReport> getByReportReportDateTest(Long userCreate, Map<String, Object> queryParam) {
  530. Map<String, Object> mm = queryParam;
  531. queryParam.put("userCreate", userCreate);
  532. return msReportMapper.selectByReportDateTest(queryParam);
  533. }
  534. public List<MsSuspected> getByReportReportDateTestxq(Map<String, Object> queryParam) {
  535. List<MsSuspected> msReports = msReportMapper.selectByReportDateTestxq(queryParam);
  536. if(msReports.size() != 0){
  537. for (int i = 0; i < msReports.size(); i++) {
  538. if(msReports.get(i).getWorkLocal() == 1){
  539. msReports.get(i).setWorkLocalOtherStr("武汉市");
  540. }else if(msReports.get(i).getWorkLocal() == 2){
  541. msReports.get(i).setWorkLocalOtherStr("宜昌市");
  542. }else if(msReports.get(i).getWorkLocal() == 3){
  543. msReports.get(i).setWorkLocalOtherStr("当阳市");
  544. }
  545. if(msReports.get(i).getTodayLocal() == 1){
  546. msReports.get(i).setTodayLocalOtherStr("武汉市");
  547. }else if(msReports.get(i).getTodayLocal() == 2){
  548. msReports.get(i).setTodayLocalOtherStr("宜昌市");
  549. }else if(msReports.get(i).getTodayLocal() == 3){
  550. msReports.get(i).setTodayLocalOtherStr("当阳市");
  551. }
  552. if(msReports.get(i).getEndLocal() != null){
  553. if(msReports.get(i).getEndLocal() == 1){
  554. msReports.get(i).setEndLocalOtherStr("武汉市");
  555. }else if(msReports.get(i).getEndLocal() == 2){
  556. msReports.get(i).setEndLocalOtherStr("宜昌市");
  557. }else if(msReports.get(i).getEndLocal() == 3){
  558. msReports.get(i).setEndLocalOtherStr("当阳市");
  559. }
  560. }
  561. if(msReports.get(i).getStartLocal() != null){
  562. if(msReports.get(i).getStartLocal() == 1){
  563. msReports.get(i).setStartLocalOtherStr("武汉市");
  564. }else if(msReports.get(i).getStartLocal() == 2){
  565. msReports.get(i).setStartLocalOtherStr("宜昌市");
  566. }else if(msReports.get(i).getStartLocal() == 3){
  567. msReports.get(i).setStartLocalOtherStr("当阳市");
  568. }
  569. }
  570. }
  571. }
  572. return msReports;
  573. }
  574. }