ShipDynamicsController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.service.impl.ShipDynamicsServiceImpl;
  3. import com.steerinfo.dil.util.BaseRESTfulController;
  4. import com.steerinfo.framework.controller.RESTfulResult;
  5. import io.swagger.annotations.ApiOperation;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.bind.annotation.PostMapping;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RestController;
  10. import java.util.*;
  11. @RestController
  12. @RequestMapping("/${api.version}/shipdynamics")
  13. public class ShipDynamicsController extends BaseRESTfulController {
  14. @Autowired
  15. ShipDynamicsServiceImpl iShipDynamicsService;
  16. @ApiOperation(value="查询所有的船舶动态信息")
  17. @PostMapping("/selectAllShipDyna")
  18. public RESTfulResult selectAll() {
  19. //返回值mapList
  20. //获取视图里的所有外轮船名,物资名称
  21. List<Map<String, Object>> list = iShipDynamicsService.selectAll();
  22. List<Map<String, Object>> mapList=new ArrayList<>(list.size());
  23. //小计,每一个批次进行完小计后清空
  24. Double capacityNumberSum1 = 0.0;
  25. Double capacityNumberSum2 = 0.0;
  26. Double capacityNumberSum3 = 0.0;
  27. Double capacityNumberSum4 = 0.0;
  28. //获取下游港口吨位的总和
  29. Double tonnageSum=0.0;
  30. //1:未到闸船舶2:等闸船舶3:已过闸船舶4:到港待卸船舶的和
  31. Double capacityNumberAllSum1=0.0;
  32. Double capacityNumberAllSum2=0.0;
  33. Double capacityNumberAllSum3=0.0;
  34. Double capacityNumberAllSum4=0.0;
  35. for (int i = 0; i <= list.size()-1; i++) {
  36. if(i>0&&!list.get(i).get("batchId").equals(list.get(i-1).get("batchId"))){
  37. Map<String,Object> map=new LinkedHashMap<>();
  38. map.put("batchId",list.get(i-1).get("batchId"));
  39. map.put("pm",list.get(i-1).get("shipName").toString()+
  40. list.get(i-1).get("materialName").toString()+
  41. list.get(i-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+
  42. list.get(i-1).get("numberOfLoans").toString());
  43. map.put("tonnage",list.get(i-1).get("tonnage"));
  44. map.put("portName", list.get(i-1).get("portName"));
  45. tonnageSum+=Double.parseDouble(list.get(i-1).get("tonnage").toString());
  46. map.put("capacity1","小计");
  47. map.put("capacity2","小计");
  48. map.put("capacity3" ,"小计");
  49. map.put("capacity4","小计");
  50. map.put("capacityNumber1",capacityNumberSum1);
  51. map.put("capacityNumber2",capacityNumberSum2);
  52. map.put("capacityNumber3",capacityNumberSum3);
  53. map.put("capacityNumber4",capacityNumberSum4);
  54. map.put("vvvvv", 23);
  55. mapList.add(map);
  56. Map<String,Object> map2=new HashMap<>();
  57. map2.put("batchId",list.get(i-1).get("batchId"));
  58. map2.put("pm",list.get(i-1).get("shipName").toString()+
  59. list.get(i-1).get("materialName").toString()+
  60. list.get(i-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+
  61. list.get(i-1).get("numberOfLoans").toString());
  62. map2.put("tonnage",list.get(i-1).get("tonnage"));
  63. map2.put("portName", list.get(i-1).get("portName"));
  64. map2.put("capacity1",capacityNumberSum1+capacityNumberSum2+capacityNumberSum3+capacityNumberSum4);
  65. map2.put("type",1);
  66. map2.put("aaaaa", 2);
  67. mapList.add(map2);
  68. capacityNumberSum1 = 0.0;
  69. capacityNumberSum2 = 0.0;
  70. capacityNumberSum3 = 0.0;
  71. capacityNumberSum4 = 0.0;
  72. }
  73. Map<String, Object> map = new HashMap<>();
  74. map.put("batchId",list.get(i).get("batchId"));
  75. list.get(i).get("shipName").toString();
  76. list.get(i).get("materialName").toString();
  77. list.get(i).get("dateOfLoans").toString().substring(0, 10);
  78. list.get(i).get("numberOfLoans").toString();
  79. String pm=list.get(i).get("shipName").toString()+
  80. list.get(i).get("materialName").toString()+
  81. list.get(i).get("dateOfLoans").toString().substring(0, 10)+"放货"+
  82. list.get(i).get("numberOfLoans").toString();
  83. map.put("pm",pm);
  84. map.put("tonnage",list.get(i).get("tonnage"));
  85. //1:未到闸船舶2:等闸船舶3:已过闸船舶4:到港待卸船舶
  86. String capacity1=null;
  87. String capacity2=null;
  88. String capacity3=null;
  89. String capacity4=null;
  90. String capacityNumber1=null;
  91. String capacityNumber2=null;
  92. String capacityNumber3=null;
  93. String capacityNumber4=null;
  94. String outPortTime1=null;
  95. String outPortTime2=null;
  96. String outPortTime3=null;
  97. String outPortTime4=null;
  98. String locationValue1=null;
  99. String locationValue2=null;
  100. String locationValue3=null;
  101. String locationValue4=null;
  102. String locationStatus = list.get(i).get("locationStatus").toString();
  103. if ("未到闸船舶".equals(locationStatus)) {
  104. capacity1 = list.get(i).get("capacity").toString();
  105. capacityNumber1 = list.get(i).get("capacityNumber").toString();
  106. outPortTime1 = list.get(i).get("outPortTime").toString().substring(0, 10);
  107. locationValue1 = list.get(i).get("locationValue").toString();
  108. capacityNumberSum1 += Double.valueOf(capacityNumber1);
  109. capacityNumberAllSum1+=Double.valueOf(capacityNumber1);
  110. } else if ("等闸船舶".equals(locationStatus)) {
  111. capacity2 = list.get(i).get("capacity").toString();
  112. capacityNumber2 = list.get(i).get("capacityNumber").toString();
  113. outPortTime2 = list.get(i).get("outPortTime").toString().substring(0, 10);
  114. locationValue2 = list.get(i).get("locationValue").toString();
  115. capacityNumberSum2 += Double.valueOf(capacityNumber2);
  116. capacityNumberAllSum2+=Double.valueOf(capacityNumber2);
  117. } else if ("已过闸船舶".equals(locationStatus)) {
  118. capacity3 = list.get(i).get("capacity").toString();
  119. capacityNumber3 = list.get(i).get("capacityNumber").toString();
  120. outPortTime3 = list.get(i).get("outPortTime").toString().substring(0, 10);
  121. locationValue3 = list.get(i).get("locationValue").toString();
  122. capacityNumberSum3 += Double.valueOf(capacityNumber3);
  123. capacityNumberAllSum3+=Double.valueOf(capacityNumber3);
  124. } else if ("到港待卸船舶".equals(locationStatus)) {
  125. capacity4 = list.get(i).get("capacity").toString();
  126. capacityNumber4 = list.get(i).get("capacityNumber").toString();
  127. outPortTime4 = list.get(i).get("outPortTime").toString().substring(0, 10);
  128. locationValue4 = list.get(i).get("locationValue").toString();
  129. capacityNumberSum4 += Double.valueOf(capacityNumber4);
  130. capacityNumberAllSum4+=Double.valueOf(capacityNumber4);
  131. }
  132. map.put("capacity1",capacity1);
  133. map.put("capacityNumber1",capacityNumber1);
  134. map.put("locationValue1",locationValue1);
  135. map.put("outPortTime1",outPortTime1);
  136. map.put("capacity2",capacity2);
  137. map.put("capacityNumber2",capacityNumber2);
  138. map.put("locationValue2",locationValue2);
  139. map.put("outPortTime2",outPortTime2);
  140. map.put("capacity3",capacity3);
  141. map.put("capacityNumber3",capacityNumber3);
  142. map.put("locationValue3",locationValue3);
  143. map.put("outPortTime3",outPortTime3);
  144. map.put("capacity4",capacity4);
  145. map.put("capacityNumber4",capacityNumber4);
  146. map.put("locationValue4",locationValue4);
  147. map.put("outPortTime4",outPortTime4);
  148. map.put("qqqqq", 12); //连续字母用于辨识数据结构!!!!
  149. map.put("portName", list.get(i).get("portName"));
  150. mapList.add(map);
  151. }
  152. Map<String,Object> map=new HashMap<>();
  153. map.put("batchId",list.get(list.size()-1).get("batchId"));
  154. map.put("pm",list.get(list.size()-1).get("shipName").toString()+
  155. list.get(list.size()-1).get("materialName").toString()+
  156. list.get(list.size()-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+
  157. list.get(list.size()-1).get("numberOfLoans").toString());
  158. map.put("tonnage",list.get(list.size()-1).get("tonnage"));
  159. map.put("portName", list.get(list.size()-1).get("portName"));
  160. tonnageSum+=Double.parseDouble(list.get(list.size()-1).get("tonnage").toString());
  161. map.put("capacity1","小计");
  162. map.put("capacity2","小计");
  163. map.put("capacity3","小计");
  164. map.put("capacity4","小计");
  165. map.put("capacityNumber1",capacityNumberSum1);
  166. map.put("capacityNumber2",capacityNumberSum2);
  167. map.put("capacityNumber3",capacityNumberSum3);
  168. map.put("capacityNumber4",capacityNumberSum4);
  169. map.put("wwwww", 12);
  170. mapList.add(map);
  171. Map<String,Object> map2=new HashMap<>();
  172. map2.put("batchId",list.get(list.size()-1).get("batchId"));
  173. map2.put("pm",list.get(list.size()-1).get("shipName").toString()+
  174. list.get(list.size()-1).get("materialName").toString()+
  175. list.get(list.size()-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+
  176. list.get(list.size()-1).get("numberOfLoans").toString());
  177. map2.put("tonnage",list.get(list.size()-1).get("tonnage"));
  178. map.put("portName", list.get(list.size()-1).get("portName"));
  179. map2.put("capacity1",capacityNumberSum1+capacityNumberSum2+capacityNumberSum3+capacityNumberSum4);
  180. map2.put("type",1);
  181. map2.put("eeeeee", 12);
  182. mapList.add(map2);
  183. //最下方的两行
  184. //第一行
  185. Map<String,Object> map3=new HashMap<>();
  186. map3.put("batchId",Integer.parseInt(list.get(list.size()-1).get("batchId").toString())+1);
  187. map3.put("tonnage",tonnageSum);
  188. map3.put("pm","合计");
  189. map3.put("capacityNumber1",capacityNumberAllSum1);
  190. map3.put("capacityNumber2",capacityNumberAllSum2);
  191. map3.put("capacityNumber3",capacityNumberAllSum3);
  192. map3.put("capacityNumber4",capacityNumberAllSum4);
  193. map3.put("rrrrrr", 12);
  194. mapList.add(map3);
  195. //第二行
  196. Map<String,Object> map4=new HashMap<>();
  197. map4.put("batchId",Integer.parseInt(list.get(list.size()-1).get("batchId").toString())+1);
  198. map4.put("tonnage",tonnageSum);
  199. map4.put("pm","合计");
  200. map4.put("capacity1",capacityNumberAllSum1+capacityNumberAllSum2+capacityNumberAllSum3+capacityNumberAllSum4);
  201. map4.put("type",1);
  202. map4.put("ttttt", 2);
  203. mapList.add(map4);
  204. return success(mapList);
  205. }
  206. }