ShipDynamicsController.java 11 KB

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