package com.steerinfo.dil.controller; import com.steerinfo.dil.service.impl.ShipDynamicsServiceImpl; import com.steerinfo.dil.util.BaseRESTfulController; import com.steerinfo.framework.controller.RESTfulResult; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.*; @RestController @RequestMapping("/${api.version}/shipdynamics") public class ShipDynamicsController extends BaseRESTfulController { @Autowired ShipDynamicsServiceImpl iShipDynamicsService; @ApiOperation(value="查询所有的船舶动态信息") @PostMapping("/selectAllShipDyna") public RESTfulResult selectAll() { //返回值mapList //获取视图里的所有外轮船名,物资名称 List> list = iShipDynamicsService.selectAll(); List> mapList=new ArrayList<>(list.size()); //小计,每一个批次进行完小计后清空 Double capacityNumberSum1 = 0.0; Double capacityNumberSum2 = 0.0; Double capacityNumberSum3 = 0.0; Double capacityNumberSum4 = 0.0; //获取下游港口吨位的总和 Double tonnageSum=0.0; //1:未到闸船舶2:等闸船舶3:已过闸船舶4:到港待卸船舶的和 Double capacityNumberAllSum1=0.0; Double capacityNumberAllSum2=0.0; Double capacityNumberAllSum3=0.0; Double capacityNumberAllSum4=0.0; for (int i = 0; i <= list.size()-1; i++) { if(i>0&&!list.get(i).get("batchId").equals(list.get(i-1).get("batchId"))){ Map map=new LinkedHashMap<>(); map.put("batchId",list.get(i-1).get("batchId")); map.put("pm",list.get(i-1).get("shipName").toString()+ list.get(i-1).get("materialName").toString()+ list.get(i-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+ list.get(i-1).get("numberOfLoans").toString()); map.put("tonnage",list.get(i-1).get("tonnage")); map.put("portName", list.get(i-1).get("portName")); tonnageSum+=Double.parseDouble(list.get(i-1).get("tonnage").toString()); map.put("capacity1","小计"); map.put("capacity2","小计"); map.put("capacity3" ,"小计"); map.put("capacity4","小计"); map.put("capacityNumber1",capacityNumberSum1); map.put("capacityNumber2",capacityNumberSum2); map.put("capacityNumber3",capacityNumberSum3); map.put("capacityNumber4",capacityNumberSum4); map.put("vvvvv", 23); mapList.add(map); Map map2=new HashMap<>(); map2.put("batchId",list.get(i-1).get("batchId")); map2.put("pm",list.get(i-1).get("shipName").toString()+ list.get(i-1).get("materialName").toString()+ list.get(i-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+ list.get(i-1).get("numberOfLoans").toString()); map2.put("tonnage",list.get(i-1).get("tonnage")); map2.put("portName", list.get(i-1).get("portName")); map2.put("capacity1",capacityNumberSum1+capacityNumberSum2+capacityNumberSum3+capacityNumberSum4); map2.put("type",1); map2.put("aaaaa", 2); mapList.add(map2); capacityNumberSum1 = 0.0; capacityNumberSum2 = 0.0; capacityNumberSum3 = 0.0; capacityNumberSum4 = 0.0; } Map map = new HashMap<>(); map.put("batchId",list.get(i).get("batchId")); list.get(i).get("shipName").toString(); list.get(i).get("materialName").toString(); list.get(i).get("dateOfLoans").toString().substring(0, 10); list.get(i).get("numberOfLoans").toString(); String pm=list.get(i).get("shipName").toString()+ list.get(i).get("materialName").toString()+ list.get(i).get("dateOfLoans").toString().substring(0, 10)+"放货"+ list.get(i).get("numberOfLoans").toString(); map.put("pm",pm); map.put("tonnage",list.get(i).get("tonnage")); //1:未到闸船舶2:等闸船舶3:已过闸船舶4:到港待卸船舶 String capacity1=null; String capacity2=null; String capacity3=null; String capacity4=null; String capacityNumber1=null; String capacityNumber2=null; String capacityNumber3=null; String capacityNumber4=null; String outPortTime1=null; String outPortTime2=null; String outPortTime3=null; String outPortTime4=null; String locationValue1=null; String locationValue2=null; String locationValue3=null; String locationValue4=null; String locationStatus = list.get(i).get("locationStatus").toString(); if ("未到闸船舶".equals(locationStatus)) { capacity1 = list.get(i).get("capacity").toString(); capacityNumber1 = list.get(i).get("capacityNumber").toString(); outPortTime1 = list.get(i).get("outPortTime").toString().substring(0, 10); locationValue1 = list.get(i).get("locationValue").toString(); capacityNumberSum1 += Double.valueOf(capacityNumber1); capacityNumberAllSum1+=Double.valueOf(capacityNumber1); } else if ("等闸船舶".equals(locationStatus)) { capacity2 = list.get(i).get("capacity").toString(); capacityNumber2 = list.get(i).get("capacityNumber").toString(); outPortTime2 = list.get(i).get("outPortTime").toString().substring(0, 10); locationValue2 = list.get(i).get("locationValue").toString(); capacityNumberSum2 += Double.valueOf(capacityNumber2); capacityNumberAllSum2+=Double.valueOf(capacityNumber2); } else if ("已过闸船舶".equals(locationStatus)) { capacity3 = list.get(i).get("capacity").toString(); capacityNumber3 = list.get(i).get("capacityNumber").toString(); outPortTime3 = list.get(i).get("outPortTime").toString().substring(0, 10); locationValue3 = list.get(i).get("locationValue").toString(); capacityNumberSum3 += Double.valueOf(capacityNumber3); capacityNumberAllSum3+=Double.valueOf(capacityNumber3); } else if ("到港待卸船舶".equals(locationStatus)) { capacity4 = list.get(i).get("capacity").toString(); capacityNumber4 = list.get(i).get("capacityNumber").toString(); outPortTime4 = list.get(i).get("outPortTime").toString().substring(0, 10); locationValue4 = list.get(i).get("locationValue").toString(); capacityNumberSum4 += Double.valueOf(capacityNumber4); capacityNumberAllSum4+=Double.valueOf(capacityNumber4); } map.put("capacity1",capacity1); map.put("capacityNumber1",capacityNumber1); map.put("locationValue1",locationValue1); map.put("outPortTime1",outPortTime1); map.put("capacity2",capacity2); map.put("capacityNumber2",capacityNumber2); map.put("locationValue2",locationValue2); map.put("outPortTime2",outPortTime2); map.put("capacity3",capacity3); map.put("capacityNumber3",capacityNumber3); map.put("locationValue3",locationValue3); map.put("outPortTime3",outPortTime3); map.put("capacity4",capacity4); map.put("capacityNumber4",capacityNumber4); map.put("locationValue4",locationValue4); map.put("outPortTime4",outPortTime4); map.put("qqqqq", 12); //连续字母用于辨识数据结构!!!! map.put("portName", list.get(i).get("portName")); mapList.add(map); } Map map=new HashMap<>(); map.put("batchId",list.get(list.size()-1).get("batchId")); map.put("pm",list.get(list.size()-1).get("shipName").toString()+ list.get(list.size()-1).get("materialName").toString()+ list.get(list.size()-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+ list.get(list.size()-1).get("numberOfLoans").toString()); map.put("tonnage",list.get(list.size()-1).get("tonnage")); map.put("portName", list.get(list.size()-1).get("portName")); tonnageSum+=Double.parseDouble(list.get(list.size()-1).get("tonnage").toString()); map.put("capacity1","小计"); map.put("capacity2","小计"); map.put("capacity3","小计"); map.put("capacity4","小计"); map.put("capacityNumber1",capacityNumberSum1); map.put("capacityNumber2",capacityNumberSum2); map.put("capacityNumber3",capacityNumberSum3); map.put("capacityNumber4",capacityNumberSum4); map.put("wwwww", 12); mapList.add(map); Map map2=new HashMap<>(); map2.put("batchId",list.get(list.size()-1).get("batchId")); map2.put("pm",list.get(list.size()-1).get("shipName").toString()+ list.get(list.size()-1).get("materialName").toString()+ list.get(list.size()-1).get("dateOfLoans").toString().substring(0, 10)+"放货"+ list.get(list.size()-1).get("numberOfLoans").toString()); map2.put("tonnage",list.get(list.size()-1).get("tonnage")); map.put("portName", list.get(list.size()-1).get("portName")); map2.put("capacity1",capacityNumberSum1+capacityNumberSum2+capacityNumberSum3+capacityNumberSum4); map2.put("type",1); map2.put("eeeeee", 12); mapList.add(map2); //最下方的两行 //第一行 Map map3=new HashMap<>(); map3.put("batchId",Integer.parseInt(list.get(list.size()-1).get("batchId").toString())+1); map3.put("tonnage",tonnageSum); map3.put("pm","合计"); map3.put("capacityNumber1",capacityNumberAllSum1); map3.put("capacityNumber2",capacityNumberAllSum2); map3.put("capacityNumber3",capacityNumberAllSum3); map3.put("capacityNumber4",capacityNumberAllSum4); map3.put("rrrrrr", 12); mapList.add(map3); //第二行 Map map4=new HashMap<>(); map4.put("batchId",Integer.parseInt(list.get(list.size()-1).get("batchId").toString())+1); map4.put("tonnage",tonnageSum); map4.put("pm","合计"); map4.put("capacity1",capacityNumberAllSum1+capacityNumberAllSum2+capacityNumberAllSum3+capacityNumberAllSum4); map4.put("type",1); map4.put("ttttt", 2); mapList.add(map4); return success(mapList); } }