ParttemperaturesubService.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. package com.gyee.frame.service;
  2. import com.gyee.frame.common.base.BaseService;
  3. import com.gyee.frame.common.support.Convert;
  4. import com.gyee.frame.mapper.auto.ParttemperaturesubMapper;
  5. import com.gyee.frame.model.auto.Parttemperaturesub;
  6. import com.gyee.frame.model.auto.ParttemperaturesubExample;
  7. import com.gyee.frame.model.custom.YxfxVo;
  8. import com.gyee.frame.util.DateUtils;
  9. import com.gyee.frame.util.SnowflakeIdWorker;
  10. import com.gyee.frame.util.StringUtils;
  11. import org.springframework.stereotype.Service;
  12. import javax.annotation.Resource;
  13. import java.util.*;
  14. @Service
  15. public class ParttemperaturesubService implements BaseService<Parttemperaturesub, ParttemperaturesubExample> {
  16. @Resource
  17. private ParttemperaturesubMapper parttemperaturesubMapper;
  18. @Override
  19. public int deleteByPrimaryKey(String ids) {
  20. List<String> lista=Convert.toListStrArray(ids);
  21. ParttemperaturesubExample example=new ParttemperaturesubExample();
  22. example.createCriteria().andIdIn(lista);
  23. return parttemperaturesubMapper.deleteByExample(example);
  24. }
  25. @Override
  26. public Parttemperaturesub selectByPrimaryKey(String id) {
  27. return parttemperaturesubMapper.selectByPrimaryKey(id);
  28. }
  29. @Override
  30. public int updateByPrimaryKeySelective(Parttemperaturesub record) {
  31. return parttemperaturesubMapper.updateByPrimaryKeySelective(record);
  32. }
  33. /**
  34. * 添加
  35. */
  36. @Override
  37. public int insertSelective(Parttemperaturesub record) {
  38. //添加雪花主键id
  39. record.setId(SnowflakeIdWorker.getUUID());
  40. return parttemperaturesubMapper.insertSelective(record);
  41. }
  42. @Override
  43. public int updateByExampleSelective(Parttemperaturesub record, ParttemperaturesubExample example) {
  44. return parttemperaturesubMapper.updateByExampleSelective(record, example);
  45. }
  46. @Override
  47. public int updateByExample(Parttemperaturesub record, ParttemperaturesubExample example) {
  48. return parttemperaturesubMapper.updateByExample(record, example);
  49. }
  50. @Override
  51. public List<Parttemperaturesub> selectByExample(ParttemperaturesubExample example) {
  52. return parttemperaturesubMapper.selectByExample(example);
  53. }
  54. @Override
  55. public long countByExample(ParttemperaturesubExample example) {
  56. return parttemperaturesubMapper.countByExample(example);
  57. }
  58. @Override
  59. public int deleteByExample(ParttemperaturesubExample example) {
  60. return parttemperaturesubMapper.deleteByExample(example);
  61. }
  62. public List<Parttemperaturesub> getParttemperaturesubListBywtId(String wtId, Date recorddate) {
  63. List<Parttemperaturesub> list=new ArrayList<>();
  64. if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate) ) {
  65. ParttemperaturesubExample example=new ParttemperaturesubExample();
  66. example.setOrderByClause("trange DESC");
  67. ParttemperaturesubExample.Criteria criteria =example.createCriteria();
  68. Date endDate= DateUtils.addDays(recorddate,1);
  69. criteria.andRecodedateGreaterThanOrEqualTo(recorddate).andRecodedateLessThan(endDate);
  70. criteria.andWtidEqualTo(wtId);
  71. list= parttemperaturesubMapper.selectByExample(example);
  72. }
  73. return list;
  74. }
  75. public List<YxfxVo> getListValue(List<Parttemperaturesub> ls) {
  76. Map<String, Map<String, List<Parttemperaturesub>>> ptmap = new HashMap<>();
  77. List<YxfxVo> list = new ArrayList<>();
  78. if (!ls.isEmpty()) {
  79. for (Parttemperaturesub sub : ls) {
  80. if (ptmap.containsKey(sub.getTrange())) {
  81. Map<String, List<Parttemperaturesub>> map = ptmap.get(sub.getTrange());
  82. if (map.containsKey(sub.getPartname())) {
  83. List<Parttemperaturesub> subls = map.get(sub.getPartname());
  84. subls.add(sub);
  85. } else {
  86. List<Parttemperaturesub> subls = new ArrayList<>();
  87. subls.add(sub);
  88. map.put(sub.getPartname(), subls);
  89. }
  90. ptmap.put(sub.getTrange(), map);
  91. } else {
  92. Map<String, List<Parttemperaturesub>> map = new HashMap<>();
  93. List<Parttemperaturesub> subls = new ArrayList<>();
  94. subls.add(sub);
  95. map.put(sub.getPartname(), subls);
  96. ptmap.put(sub.getTrange(), map);
  97. }
  98. }
  99. }
  100. Set<Map.Entry<String, Map<String, List<Parttemperaturesub>>>> ptset = ptmap.entrySet();
  101. //按照温度区间》测点》统计数量
  102. for (Iterator<Map.Entry<String, Map<String, List<Parttemperaturesub>>>> ptit = ptset.iterator(); ptit.hasNext();) {
  103. Map.Entry<String, Map<String, List<Parttemperaturesub>>> ptentry = (Map.Entry<String, Map<String, List<Parttemperaturesub>>>) ptit.next();
  104. Map<String, List<Parttemperaturesub>> map=ptentry.getValue();
  105. YxfxVo sub=new YxfxVo();
  106. sub.setName(ptentry.getKey());
  107. setVoValaue(map, sub,"clx");
  108. setVoValaue(map, sub,"fdj");
  109. setVoValaue(map, sub,"zk");
  110. setVoValaue(map, sub,"bj");
  111. sub.setNumzz(0);
  112. sub.setNumph(0);
  113. sub.setNumbpq(0);
  114. sub.setNumjc(0);
  115. list.add(sub);
  116. }
  117. Collections.sort(list, new Comparator<YxfxVo>() {
  118. public int compare(YxfxVo arg0, YxfxVo arg1) {
  119. return arg0.getName().compareTo(arg1.getName());
  120. }
  121. });
  122. return list;
  123. }
  124. private void setVoValaue(Map<String, List<Parttemperaturesub>> map, YxfxVo sub,String key) {
  125. if(map.containsKey(key))
  126. {
  127. int num=0;
  128. List<Parttemperaturesub> subls=map.get(key);
  129. for(Parttemperaturesub s:subls)
  130. {
  131. num=num+s.getTsnumber();
  132. }
  133. switch (key) {
  134. case "clx":
  135. sub.setNumclx(num);
  136. break;
  137. case "fdj":
  138. sub.setNumfdj(num);
  139. break;
  140. case "zk":
  141. sub.setNumzk(num);
  142. break;
  143. case "bj":
  144. sub.setNumbj(num);
  145. break;
  146. default:
  147. break;
  148. }
  149. }else
  150. {
  151. switch (key) {
  152. case "clx":
  153. sub.setNumclx(0);
  154. break;
  155. case "fdj":
  156. sub.setNumfdj(0);
  157. break;
  158. case "zk":
  159. sub.setNumzk(0);
  160. break;
  161. case "bj":
  162. sub.setNumbj(0);
  163. break;
  164. default:
  165. break;
  166. }
  167. }
  168. }
  169. }