ProtDataServiceImpl.java 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. package com.huimv.admin.service.impl;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUtil;
  4. import com.alibaba.fastjson.JSONArray;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  7. import com.huimv.admin.common.utils.DataUill;
  8. import com.huimv.admin.common.utils.Result;
  9. import com.huimv.admin.common.utils.ResultCode;
  10. import com.huimv.admin.entity.ProtData;
  11. import com.huimv.admin.entity.ProtWarningInfo;
  12. import com.huimv.admin.entity.dto.ProCountDto;
  13. import com.huimv.admin.entity.vo.ProCountVo;
  14. import com.huimv.admin.entity.vo.ProDataVo;
  15. import com.huimv.admin.mapper.ProtDataMapper;
  16. import com.huimv.admin.mapper.ProtWarningInfoMapper;
  17. import com.huimv.admin.service.IProtDataService;
  18. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import javax.servlet.http.HttpServletRequest;
  22. import java.text.SimpleDateFormat;
  23. import java.util.*;
  24. /**
  25. * <p>
  26. * 服务实现类
  27. * </p>
  28. *
  29. * @author author
  30. * @since 2023-02-14
  31. */
  32. @Service
  33. public class ProtDataServiceImpl extends ServiceImpl<ProtDataMapper, ProtData> implements IProtDataService {
  34. @Autowired
  35. private ProtDataMapper protDataMapper;
  36. @Autowired
  37. private ProtWarningInfoMapper protWarningInfoMapper;
  38. @Override
  39. public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  40. String farmId = paramsMap.get("farmId");
  41. String loctionType = paramsMap.get("loctionType");
  42. String startTime = paramsMap.get("startTime");
  43. String endTime = paramsMap.get("endTime");
  44. String type = paramsMap.get("type");
  45. String dataType = paramsMap.get("dataType");
  46. if (type == null || type == "") {
  47. type = "1";
  48. }
  49. if (dataType == null || dataType == "") {
  50. dataType = "1";
  51. }
  52. QueryWrapper<ProtData> queryWrapper = new QueryWrapper<>();
  53. queryWrapper.eq("farm_id", farmId);
  54. List<ProtData> protDataList = null;
  55. ProCountDto proCountDto = new ProCountDto();
  56. //ph
  57. if ("1".equals(dataType)) {
  58. if ("4".equals(type)) {
  59. startTime = startTime + " 00:00:00";
  60. endTime = endTime + " 23:59:59";
  61. queryWrapper.between("create_date",startTime, endTime);
  62. queryWrapper.eq("loction_type" ,1);
  63. List<ProCountVo> protData1 = protDataMapper.listPh(queryWrapper);
  64. proCountDto.setInList(protData1);
  65. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  66. queryWrapper2.eq("farm_id", farmId);
  67. queryWrapper2.between("create_date",startTime, endTime);
  68. queryWrapper2.eq("loction_type" ,2);
  69. List<ProCountVo> protData2 = protDataMapper.listPh(queryWrapper2);
  70. proCountDto.setDealList(protData2);
  71. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  72. queryWrapper3.eq("farm_id", farmId);
  73. queryWrapper3.between("create_date",startTime, endTime);
  74. queryWrapper3.eq("loction_type" ,3);
  75. List<ProCountVo> protData3 = protDataMapper.listPh(queryWrapper3);
  76. proCountDto.setOutList(protData3);
  77. // protDataList=endList;
  78. }
  79. //本年
  80. else if ("3".equals(type)) {
  81. Calendar dateTime = Calendar.getInstance();
  82. int i = dateTime.get(Calendar.YEAR);
  83. // DateTime dateTime = DateUtil.beginOfYear(new Date());
  84. queryWrapper.ge("create_date", i);
  85. queryWrapper.eq("loction_type" ,1);
  86. List<ProCountVo> protData1 = protDataMapper.listPhYear(queryWrapper);
  87. proCountDto.setInList(protData1);
  88. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  89. queryWrapper2.eq("farm_id",farmId).ge("create_date", i);
  90. queryWrapper2.eq("loction_type" ,2);
  91. List<ProCountVo> protData2 = protDataMapper.listPhYear(queryWrapper2);
  92. proCountDto.setDealList(protData2);
  93. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  94. queryWrapper3.eq("farm_id",farmId).ge("create_date", i);
  95. queryWrapper3.eq("loction_type" ,3);
  96. List<ProCountVo> protData3 = protDataMapper.listPhYear(queryWrapper3);
  97. proCountDto.setOutList(protData3);
  98. }
  99. //本月
  100. else if ("2".equals(type)) {
  101. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  102. queryWrapper.ge("create_date", timesMonthmorning);
  103. queryWrapper.eq("loction_type" ,1);
  104. List<ProCountVo> protData1 = protDataMapper.listPh(queryWrapper);
  105. proCountDto.setInList(protData1);
  106. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  107. queryWrapper2.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  108. queryWrapper2.eq("loction_type" ,2);
  109. List<ProCountVo> protData2 = protDataMapper.listPh(queryWrapper2);
  110. proCountDto.setDealList(protData2);
  111. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  112. queryWrapper3.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  113. queryWrapper3.eq("loction_type" ,3);
  114. List<ProCountVo> protData3 = protDataMapper.listPh(queryWrapper3);
  115. proCountDto.setOutList(protData3);
  116. }
  117. //本周
  118. else if ("1".equals(type)) {
  119. Calendar calendar = Calendar.getInstance();
  120. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  121. Date dateTime = calendar.getTime();
  122. queryWrapper.ge("create_date", dateTime);
  123. queryWrapper.eq("loction_type" ,1);
  124. List<ProCountVo> protData1 = protDataMapper.listPh(queryWrapper);
  125. proCountDto.setInList(protData1);
  126. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  127. queryWrapper2.eq("farm_id",farmId).ge("create_date", dateTime);
  128. queryWrapper2.eq("loction_type" ,2);
  129. List<ProCountVo> protData2 = protDataMapper.listPh(queryWrapper2);
  130. proCountDto.setDealList(protData2);
  131. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  132. queryWrapper3.eq("farm_id",farmId).ge("create_date", dateTime);
  133. queryWrapper3.eq("loction_type" ,3);
  134. List<ProCountVo> protData3 = protDataMapper.listPh(queryWrapper3);
  135. proCountDto.setOutList(protData3);
  136. }
  137. }
  138. //cod
  139. else if ("2".equals(dataType)) {
  140. if ("4".equals(type)) {
  141. startTime = startTime + " 00:00:00";
  142. endTime = endTime + " 23:59:59";
  143. queryWrapper.between("create_date",startTime, endTime);
  144. queryWrapper.eq("loction_type" ,1);
  145. List<ProCountVo> protData1 = protDataMapper.listCod(queryWrapper);
  146. proCountDto.setInList(protData1);
  147. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  148. queryWrapper2.eq("farm_id", farmId);
  149. queryWrapper2.between("create_date",startTime, endTime);
  150. queryWrapper2.eq("loction_type" ,2);
  151. List<ProCountVo> protData2 = protDataMapper.listCod(queryWrapper2);
  152. proCountDto.setDealList(protData2);
  153. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  154. queryWrapper3.eq("farm_id", farmId);
  155. queryWrapper3.between("create_date",startTime, endTime);
  156. queryWrapper3.eq("loction_type" ,3);
  157. List<ProCountVo> protData3 = protDataMapper.listCod(queryWrapper3);
  158. proCountDto.setOutList(protData3);
  159. // protDataList=endList;
  160. }
  161. //本年
  162. else if ("3".equals(type)) {
  163. Calendar dateTime = Calendar.getInstance();
  164. int i = dateTime.get(Calendar.YEAR);
  165. // DateTime dateTime = DateUtil.beginOfYear(new Date());
  166. queryWrapper.ge("create_date", i);
  167. queryWrapper.eq("loction_type" ,1);
  168. List<ProCountVo> protData1 = protDataMapper.listCodYear(queryWrapper);
  169. proCountDto.setInList(protData1);
  170. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  171. queryWrapper2.eq("farm_id",farmId).ge("create_date", i);
  172. queryWrapper2.eq("loction_type" ,2);
  173. List<ProCountVo> protData2 = protDataMapper.listCodYear(queryWrapper2);
  174. proCountDto.setDealList(protData2);
  175. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  176. queryWrapper3.eq("farm_id",farmId).ge("create_date", i);
  177. queryWrapper3.eq("loction_type" ,3);
  178. List<ProCountVo> protData3 = protDataMapper.listCodYear(queryWrapper3);
  179. proCountDto.setOutList(protData3);
  180. }
  181. //本月
  182. else if ("2".equals(type)) {
  183. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  184. queryWrapper.ge("create_date", timesMonthmorning);
  185. queryWrapper.eq("loction_type" ,1);
  186. List<ProCountVo> protData1 = protDataMapper.listCod(queryWrapper);
  187. proCountDto.setInList(protData1);
  188. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  189. queryWrapper2.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  190. queryWrapper2.eq("loction_type" ,2);
  191. List<ProCountVo> protData2 = protDataMapper.listCod(queryWrapper2);
  192. proCountDto.setDealList(protData2);
  193. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  194. queryWrapper3.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  195. queryWrapper3.eq("loction_type" ,3);
  196. List<ProCountVo> protData3 = protDataMapper.listCod(queryWrapper3);
  197. proCountDto.setOutList(protData3);
  198. }
  199. //本周
  200. else if ("1".equals(type)) {
  201. Calendar calendar = Calendar.getInstance();
  202. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  203. Date dateTime = calendar.getTime();
  204. queryWrapper.ge("create_date", dateTime);
  205. queryWrapper.eq("loction_type" ,1);
  206. List<ProCountVo> protData1 = protDataMapper.listCod(queryWrapper);
  207. proCountDto.setInList(protData1);
  208. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  209. queryWrapper2.eq("farm_id",farmId).ge("create_date", dateTime);
  210. queryWrapper2.eq("loction_type" ,2);
  211. List<ProCountVo> protData2 = protDataMapper.listCod(queryWrapper2);
  212. proCountDto.setDealList(protData2);
  213. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  214. queryWrapper3.eq("farm_id",farmId).ge("create_date", dateTime);
  215. queryWrapper3.eq("loction_type" ,3);
  216. List<ProCountVo> protData3 = protDataMapper.listCod(queryWrapper3);
  217. proCountDto.setOutList(protData3);
  218. }
  219. }
  220. //NH3N
  221. else if ("3".equals(dataType)) {
  222. if ("4".equals(type)) {
  223. startTime = startTime + " 00:00:00";
  224. endTime = endTime + " 23:59:59";
  225. queryWrapper.between("create_date",startTime, endTime);
  226. queryWrapper.eq("loction_type" ,1);
  227. List<ProCountVo> protData1 = protDataMapper.listNh3n(queryWrapper);
  228. proCountDto.setInList(protData1);
  229. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  230. queryWrapper2.eq("farm_id", farmId);
  231. queryWrapper2.between("create_date",startTime, endTime);
  232. queryWrapper2.eq("loction_type" ,2);
  233. List<ProCountVo> protData2 = protDataMapper.listNh3n(queryWrapper2);
  234. proCountDto.setDealList(protData2);
  235. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  236. queryWrapper3.eq("farm_id", farmId);
  237. queryWrapper3.between("create_date",startTime, endTime);
  238. queryWrapper3.eq("loction_type" ,3);
  239. List<ProCountVo> protData3 = protDataMapper.listNh3n(queryWrapper3);
  240. proCountDto.setOutList(protData3);
  241. // protDataList=endList;
  242. }
  243. //本年
  244. else if ("3".equals(type)) {
  245. Calendar dateTime = Calendar.getInstance();
  246. int i = dateTime.get(Calendar.YEAR);
  247. // DateTime dateTime = DateUtil.beginOfYear(new Date());
  248. queryWrapper.ge("create_date", i);
  249. queryWrapper.eq("loction_type" ,1);
  250. List<ProCountVo> protData1 = protDataMapper.listNh3nYear(queryWrapper);
  251. proCountDto.setInList(protData1);
  252. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  253. queryWrapper2.eq("farm_id",farmId).ge("create_date", i);
  254. queryWrapper2.eq("loction_type" ,2);
  255. List<ProCountVo> protData2 = protDataMapper.listNh3nYear(queryWrapper2);
  256. proCountDto.setDealList(protData2);
  257. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  258. queryWrapper3.eq("farm_id",farmId).ge("create_date", i);
  259. queryWrapper3.eq("loction_type" ,3);
  260. List<ProCountVo> protData3 = protDataMapper.listNh3nYear(queryWrapper3);
  261. proCountDto.setOutList(protData3);
  262. }
  263. //本月
  264. else if ("2".equals(type)) {
  265. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  266. queryWrapper.ge("create_date", timesMonthmorning);
  267. queryWrapper.eq("loction_type" ,1);
  268. List<ProCountVo> protData1 = protDataMapper.listNh3n(queryWrapper);
  269. proCountDto.setInList(protData1);
  270. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  271. queryWrapper2.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  272. queryWrapper2.eq("loction_type" ,2);
  273. List<ProCountVo> protData2 = protDataMapper.listNh3n(queryWrapper2);
  274. proCountDto.setDealList(protData2);
  275. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  276. queryWrapper3.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  277. queryWrapper3.eq("loction_type" ,3);
  278. List<ProCountVo> protData3 = protDataMapper.listNh3n(queryWrapper3);
  279. proCountDto.setOutList(protData3);
  280. }
  281. //本周
  282. else if ("1".equals(type)) {
  283. Calendar calendar = Calendar.getInstance();
  284. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  285. Date dateTime = calendar.getTime();
  286. queryWrapper.ge("create_date", dateTime);
  287. queryWrapper.eq("loction_type" ,1);
  288. List<ProCountVo> protData1 = protDataMapper.listNh3n(queryWrapper);
  289. proCountDto.setInList(protData1);
  290. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  291. queryWrapper2.eq("farm_id",farmId).ge("create_date", dateTime);
  292. queryWrapper2.eq("loction_type" ,2);
  293. List<ProCountVo> protData2 = protDataMapper.listNh3n(queryWrapper2);
  294. proCountDto.setDealList(protData2);
  295. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  296. queryWrapper3.eq("farm_id",farmId).ge("create_date", dateTime);
  297. queryWrapper3.eq("loction_type" ,3);
  298. List<ProCountVo> protData3 = protDataMapper.listNh3n(queryWrapper3);
  299. proCountDto.setOutList(protData3);
  300. }
  301. }
  302. //TP
  303. else if ("4".equals(dataType)) {
  304. if ("4".equals(type)) {
  305. startTime = startTime + " 00:00:00";
  306. endTime = endTime + " 23:59:59";
  307. queryWrapper.between("create_date",startTime, endTime);
  308. queryWrapper.eq("loction_type" ,1);
  309. List<ProCountVo> protData1 = protDataMapper.listTp(queryWrapper);
  310. proCountDto.setInList(protData1);
  311. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  312. queryWrapper2.eq("farm_id", farmId);
  313. queryWrapper2.between("create_date",startTime, endTime);
  314. queryWrapper2.eq("loction_type" ,2);
  315. List<ProCountVo> protData2 = protDataMapper.listTp(queryWrapper2);
  316. proCountDto.setDealList(protData2);
  317. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  318. queryWrapper3.eq("farm_id", farmId);
  319. queryWrapper3.between("create_date",startTime, endTime);
  320. queryWrapper3.eq("loction_type" ,3);
  321. List<ProCountVo> protData3 = protDataMapper.listTp(queryWrapper3);
  322. proCountDto.setOutList(protData3);
  323. // protDataList=endList;
  324. }
  325. //本年
  326. else if ("3".equals(type)) {
  327. Calendar dateTime = Calendar.getInstance();
  328. int i = dateTime.get(Calendar.YEAR);
  329. // DateTime dateTime = DateUtil.beginOfYear(new Date());
  330. queryWrapper.ge("create_date", i);
  331. queryWrapper.eq("loction_type" ,1);
  332. List<ProCountVo> protData1 = protDataMapper.listTpYear(queryWrapper);
  333. proCountDto.setInList(protData1);
  334. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  335. queryWrapper2.eq("farm_id",farmId).ge("create_date", i);
  336. queryWrapper2.eq("loction_type" ,2);
  337. List<ProCountVo> protData2 = protDataMapper.listTpYear(queryWrapper2);
  338. proCountDto.setDealList(protData2);
  339. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  340. queryWrapper3.eq("farm_id",farmId).ge("create_date", i);
  341. queryWrapper3.eq("loction_type" ,3);
  342. List<ProCountVo> protData3 = protDataMapper.listTpYear(queryWrapper3);
  343. proCountDto.setOutList(protData3);
  344. }
  345. //本月
  346. else if ("2".equals(type)) {
  347. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  348. queryWrapper.ge("create_date", timesMonthmorning);
  349. queryWrapper.eq("loction_type" ,1);
  350. List<ProCountVo> protData1 = protDataMapper.listTp(queryWrapper);
  351. proCountDto.setInList(protData1);
  352. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  353. queryWrapper2.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  354. queryWrapper2.eq("loction_type" ,2);
  355. List<ProCountVo> protData2 = protDataMapper.listTp(queryWrapper2);
  356. proCountDto.setDealList(protData2);
  357. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  358. queryWrapper3.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  359. queryWrapper3.eq("loction_type" ,3);
  360. List<ProCountVo> protData3 = protDataMapper.listTp(queryWrapper3);
  361. proCountDto.setOutList(protData3);
  362. }
  363. //本周
  364. else if ("1".equals(type)) {
  365. Calendar calendar = Calendar.getInstance();
  366. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  367. Date dateTime = calendar.getTime();
  368. queryWrapper.ge("create_date", dateTime);
  369. queryWrapper.eq("loction_type" ,1);
  370. List<ProCountVo> protData1 = protDataMapper.listTp(queryWrapper);
  371. proCountDto.setInList(protData1);
  372. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  373. queryWrapper2.eq("farm_id",farmId).ge("create_date", dateTime);
  374. queryWrapper2.eq("loction_type" ,2);
  375. List<ProCountVo> protData2 = protDataMapper.listTp(queryWrapper2);
  376. proCountDto.setDealList(protData2);
  377. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  378. queryWrapper3.eq("farm_id",farmId).ge("create_date", dateTime);
  379. queryWrapper3.eq("loction_type" ,3);
  380. List<ProCountVo> protData3 = protDataMapper.listTp(queryWrapper3);
  381. proCountDto.setOutList(protData3);
  382. }
  383. }
  384. //TN
  385. else if ("5".equals(dataType)) {
  386. if ("4".equals(type)) {
  387. startTime = startTime + " 00:00:00";
  388. endTime = endTime + " 23:59:59";
  389. queryWrapper.between("create_date",startTime, endTime);
  390. queryWrapper.eq("loction_type" ,1);
  391. List<ProCountVo> protData1 = protDataMapper.listTn(queryWrapper);
  392. proCountDto.setInList(protData1);
  393. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  394. queryWrapper2.eq("farm_id", farmId);
  395. queryWrapper2.between("create_date",startTime, endTime);
  396. queryWrapper2.eq("loction_type" ,2);
  397. List<ProCountVo> protData2 = protDataMapper.listTn(queryWrapper2);
  398. proCountDto.setDealList(protData2);
  399. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  400. queryWrapper3.eq("farm_id", farmId);
  401. queryWrapper3.between("create_date",startTime, endTime);
  402. queryWrapper3.eq("loction_type" ,3);
  403. List<ProCountVo> protData3 = protDataMapper.listTn(queryWrapper3);
  404. proCountDto.setOutList(protData3);
  405. // protDataList=endList;
  406. }
  407. //本年
  408. else if ("3".equals(type)) {
  409. Calendar dateTime = Calendar.getInstance();
  410. int i = dateTime.get(Calendar.YEAR);
  411. // DateTime dateTime = DateUtil.beginOfYear(new Date());
  412. queryWrapper.ge("create_date", i);
  413. queryWrapper.eq("loction_type" ,1);
  414. List<ProCountVo> protData1 = protDataMapper.listTnYear(queryWrapper);
  415. proCountDto.setInList(protData1);
  416. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  417. queryWrapper2.eq("farm_id",farmId).ge("create_date", i);
  418. queryWrapper2.eq("loction_type" ,2);
  419. List<ProCountVo> protData2 = protDataMapper.listTnYear(queryWrapper2);
  420. proCountDto.setDealList(protData2);
  421. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  422. queryWrapper3.eq("farm_id",farmId).ge("create_date", i);
  423. queryWrapper3.eq("loction_type" ,3);
  424. List<ProCountVo> protData3 = protDataMapper.listTnYear(queryWrapper3);
  425. proCountDto.setOutList(protData3);
  426. }
  427. //本月
  428. else if ("2".equals(type)) {
  429. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  430. queryWrapper.ge("create_date", timesMonthmorning);
  431. queryWrapper.eq("loction_type" ,1);
  432. List<ProCountVo> protData1 = protDataMapper.listTn(queryWrapper);
  433. proCountDto.setInList(protData1);
  434. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  435. queryWrapper2.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  436. queryWrapper2.eq("loction_type" ,2);
  437. List<ProCountVo> protData2 = protDataMapper.listTn(queryWrapper2);
  438. proCountDto.setDealList(protData2);
  439. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  440. queryWrapper3.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  441. queryWrapper3.eq("loction_type" ,3);
  442. List<ProCountVo> protData3 = protDataMapper.listTn(queryWrapper3);
  443. proCountDto.setOutList(protData3);
  444. }
  445. //本周
  446. else if ("1".equals(type)) {
  447. Calendar calendar = Calendar.getInstance();
  448. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  449. Date dateTime = calendar.getTime();
  450. queryWrapper.ge("create_date", dateTime);
  451. queryWrapper.eq("loction_type" ,1);
  452. List<ProCountVo> protData1 = protDataMapper.listTn(queryWrapper);
  453. proCountDto.setInList(protData1);
  454. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  455. queryWrapper2.eq("farm_id",farmId).ge("create_date", dateTime);
  456. queryWrapper2.eq("loction_type" ,2);
  457. List<ProCountVo> protData2 = protDataMapper.listTn(queryWrapper2);
  458. proCountDto.setDealList(protData2);
  459. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  460. queryWrapper3.eq("farm_id",farmId).ge("create_date", dateTime);
  461. queryWrapper3.eq("loction_type" ,3);
  462. List<ProCountVo> protData3 = protDataMapper.listTn(queryWrapper3);
  463. proCountDto.setOutList(protData3);
  464. }
  465. }
  466. //FLOW
  467. else if ("6".equals(dataType)) {
  468. if ("4".equals(type)) {
  469. startTime = startTime + " 00:00:00";
  470. endTime = endTime + " 23:59:59";
  471. queryWrapper.between("create_date",startTime, endTime);
  472. queryWrapper.eq("loction_type" ,1);
  473. List<ProCountVo> protData1 = protDataMapper.listFlow(queryWrapper);
  474. proCountDto.setInList(protData1);
  475. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  476. queryWrapper2.eq("farm_id", farmId);
  477. queryWrapper2.between("create_date",startTime, endTime);
  478. queryWrapper2.eq("loction_type" ,2);
  479. List<ProCountVo> protData2 = protDataMapper.listFlow(queryWrapper2);
  480. proCountDto.setDealList(protData2);
  481. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  482. queryWrapper3.eq("farm_id", farmId);
  483. queryWrapper3.between("create_date",startTime, endTime);
  484. queryWrapper3.eq("loction_type" ,3);
  485. List<ProCountVo> protData3 = protDataMapper.listFlow(queryWrapper3);
  486. proCountDto.setOutList(protData3);
  487. // protDataList=endList;
  488. }
  489. //本年
  490. else if ("3".equals(type)) {
  491. Calendar dateTime = Calendar.getInstance();
  492. int i = dateTime.get(Calendar.YEAR);
  493. // DateTime dateTime = DateUtil.beginOfYear(new Date());
  494. queryWrapper.ge("create_date", i);
  495. queryWrapper.eq("loction_type" ,1);
  496. List<ProCountVo> protData1 = protDataMapper.listFlowYear(queryWrapper);
  497. proCountDto.setInList(protData1);
  498. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  499. queryWrapper2.eq("farm_id",farmId).ge("create_date", i);
  500. queryWrapper2.eq("loction_type" ,2);
  501. List<ProCountVo> protData2 = protDataMapper.listFlowYear(queryWrapper2);
  502. proCountDto.setDealList(protData2);
  503. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  504. queryWrapper3.eq("farm_id",farmId).ge("create_date", i);
  505. queryWrapper3.eq("loction_type" ,3);
  506. List<ProCountVo> protData3 = protDataMapper.listFlowYear(queryWrapper3);
  507. proCountDto.setOutList(protData3);
  508. }
  509. //本月
  510. else if ("2".equals(type)) {
  511. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  512. queryWrapper.ge("create_date", timesMonthmorning);
  513. queryWrapper.eq("loction_type" ,1);
  514. List<ProCountVo> protData1 = protDataMapper.listFlow(queryWrapper);
  515. proCountDto.setInList(protData1);
  516. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  517. queryWrapper2.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  518. queryWrapper2.eq("loction_type" ,2);
  519. List<ProCountVo> protData2 = protDataMapper.listFlow(queryWrapper2);
  520. proCountDto.setDealList(protData2);
  521. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  522. queryWrapper3.eq("farm_id",farmId).ge("create_date", timesMonthmorning);
  523. queryWrapper3.eq("loction_type" ,3);
  524. List<ProCountVo> protData3 = protDataMapper.listFlow(queryWrapper3);
  525. proCountDto.setOutList(protData3);
  526. }
  527. //本周
  528. else if ("1".equals(type)) {
  529. Calendar calendar = Calendar.getInstance();
  530. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  531. Date dateTime = calendar.getTime();
  532. queryWrapper.ge("create_date", dateTime);
  533. queryWrapper.eq("loction_type" ,1);
  534. List<ProCountVo> protData1 = protDataMapper.listFlow(queryWrapper);
  535. proCountDto.setInList(protData1);
  536. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  537. queryWrapper2.eq("farm_id",farmId).ge("create_date", dateTime);
  538. queryWrapper2.eq("loction_type" ,2);
  539. List<ProCountVo> protData2 = protDataMapper.listFlow(queryWrapper2);
  540. proCountDto.setDealList(protData2);
  541. QueryWrapper<ProtData> queryWrapper3 = new QueryWrapper<>();
  542. queryWrapper3.eq("farm_id",farmId).ge("create_date", dateTime);
  543. queryWrapper3.eq("loction_type" ,3);
  544. List<ProCountVo> protData3 = protDataMapper.listFlow(queryWrapper3);
  545. proCountDto.setOutList(protData3);
  546. }
  547. }
  548. return new Result(ResultCode.SUCCESS, proCountDto);
  549. }
  550. @Override
  551. public Result listProt(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  552. String farmId = paramsMap.get("farmId");
  553. QueryWrapper<ProtWarningInfo> queryWrapper = new QueryWrapper<>();
  554. queryWrapper.eq("farm_id", farmId).orderByDesc("date").last(" limit 10");
  555. List<ProtWarningInfo> protWarningInfos = protWarningInfoMapper.selectList(queryWrapper);
  556. //今日
  557. Date timesmorning = DataUill.getTimesmorning();
  558. //本周
  559. DateTime dateTime = DateUtil.beginOfWeek(new Date());
  560. //本月
  561. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  562. List<ProDataVo> voList = new LinkedList<>();
  563. for (int i = 0; i < protWarningInfos.size(); i++) {
  564. ProDataVo proDataVo = new ProDataVo();
  565. proDataVo.setContent(protWarningInfos.get(i).getWarningContent());
  566. proDataVo.setTime(protWarningInfos.get(i).getDate());
  567. voList.add(proDataVo);
  568. }
  569. QueryWrapper<ProtWarningInfo> queryWrapper1 = new QueryWrapper<>();
  570. queryWrapper1.eq("farm_id", farmId).ge("date",timesmorning);
  571. Integer dayCount = protWarningInfoMapper.selectCount(queryWrapper1);
  572. QueryWrapper<ProtWarningInfo> queryWrapper2 = new QueryWrapper<>();
  573. queryWrapper2.eq("farm_id", farmId).ge("date",dateTime);
  574. Integer weekCount= protWarningInfoMapper.selectCount(queryWrapper2);
  575. QueryWrapper<ProtWarningInfo> queryWrapper3 = new QueryWrapper<>();
  576. queryWrapper3.eq("farm_id", farmId).ge("date",timesMonthmorning);
  577. Integer monthCount = protWarningInfoMapper.selectCount(queryWrapper3);
  578. QueryWrapper<ProtWarningInfo> queryWrapper4 = new QueryWrapper<>();
  579. queryWrapper4.eq("farm_id", farmId);
  580. Integer count = protWarningInfoMapper.selectCount(queryWrapper4);
  581. JSONObject jsonObject = new JSONObject();
  582. jsonObject.put("dayCount", dayCount);
  583. jsonObject.put("weekCount", weekCount);
  584. jsonObject.put("monthCount", monthCount);
  585. jsonObject.put("count", count);
  586. jsonObject.put("data", voList);
  587. return new Result(ResultCode.SUCCESS,jsonObject);
  588. }
  589. @Override
  590. public Result listType(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  591. String farmId = paramsMap.get("farmId");
  592. QueryWrapper<ProtData> queryWrapper = new QueryWrapper<>();
  593. // ProCountDto proCountDto = new ProCountDto();
  594. JSONObject jsonObject = new JSONObject();
  595. queryWrapper.eq("farm_id", farmId).eq("loction_type", 1).orderByDesc("create_date").last(" limit 1");
  596. ProtData protData = protDataMapper.selectOne(queryWrapper);
  597. jsonObject.put("in", protData);
  598. QueryWrapper<ProtData> queryWrapper1 = new QueryWrapper<>();
  599. queryWrapper1.eq("farm_id", farmId).eq("loction_type", 2).orderByDesc("create_date").last(" limit 1");
  600. ProtData protData1 = protDataMapper.selectOne(queryWrapper1);
  601. jsonObject.put("deal", protData1);
  602. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  603. queryWrapper2.eq("farm_id", farmId).eq("loction_type", 3).orderByDesc("create_date").last(" limit 1");
  604. ProtData protData2 = protDataMapper.selectOne(queryWrapper2);
  605. jsonObject.put("out", protData2);
  606. return new Result(ResultCode.SUCCESS,jsonObject);
  607. }
  608. @Override
  609. public Result listScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  610. Date timesmorning = DataUill.getTimesmorning();
  611. String farmId = paramsMap.get("farmId");
  612. QueryWrapper<ProtData> queryWrapper = new QueryWrapper<>();
  613. queryWrapper.eq("farm_id", farmId).ge("create_date",timesmorning);
  614. Integer count = protDataMapper.selectCount(queryWrapper);//监测数据条数
  615. QueryWrapper<ProtWarningInfo> queryWrapper1 = new QueryWrapper<>();
  616. queryWrapper1.eq("farm_id", farmId);
  617. Integer count1 = protWarningInfoMapper.selectCount(queryWrapper1);//全年报警条数
  618. queryWrapper1.ge("create_date", timesmorning);
  619. Integer countDay = protWarningInfoMapper.selectCount(queryWrapper1);//今日报警条数
  620. //得到监测保障天数
  621. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  622. long day = 0;
  623. try {
  624. Date now = new Date();
  625. String nowTime = sdf.format(now);
  626. // System.out.println(now);
  627. Date date = sdf.parse("2023-01-01");//指定日期
  628. Date mydate = sdf.parse(nowTime);//当前日期
  629. day = (mydate.getTime() - date.getTime()) / (24 * 60 * 60 * 1000);
  630. // System.out.println(day);
  631. } catch (Exception e) {
  632. return new Result(ResultCode.SUCCESS, "");
  633. }
  634. DateTime dateTime = DateUtil.beginOfYear(new Date());
  635. QueryWrapper<ProtData> queryWrapper2 = new QueryWrapper<>();
  636. queryWrapper2.eq("farm_id", farmId).ge("create_date", dateTime);
  637. ProtData protData = protDataMapper.flowCount(queryWrapper2);
  638. JSONObject jsonObject = new JSONObject();
  639. jsonObject.put("locCount", 27);
  640. jsonObject.put("ProtCount", count);
  641. jsonObject.put("WarningCount", countDay);
  642. jsonObject.put("day", day);
  643. jsonObject.put("flowCount",count1);
  644. return new Result(ResultCode.SUCCESS,jsonObject);
  645. }
  646. }