Procházet zdrojové kódy

提交接口优化

chenxiaofei před 2 měsíci
rodič
revize
8343f58a01

+ 36 - 6
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckService.java

@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.common.enums.enums.FileEnum;
 import com.sckw.core.exception.SystemException;
@@ -1506,7 +1507,7 @@ public class KwfTruckService {
         capacityTotalStatusVo.setIdleTotalTruckNum(CollectionUtils.isEmpty(kwfTrucks) ? "0" : String.valueOf(kwfTrucks.stream()
                 .filter(x -> Objects.equals(x.getStatus(), 0))
                 .count()));
-        capacityTotalStatusVo.setAbnormalTotalTruckNum("");
+        capacityTotalStatusVo.setAbnormalTotalTruckNum("0");
         return capacityTotalStatusVo;
     }
 
@@ -1563,30 +1564,41 @@ public class KwfTruckService {
         Map<Long, List<KwfTruck>> entIdAndTruckMap = truckList.stream()
                 .collect(Collectors.groupingBy(KwfTruck::getEntId));
 
+        //查询订单
+        List<RWaybillOrderVo> rWaybillOrderVos = transportRemoteService.queryWaybillOrderByEntId(req.getEntId());
+        Map<Long, List<RWaybillOrderVo>> truckIdAndOrderMap = Maps.newHashMap() ;
+        if (CollectionUtils.isNotEmpty(rWaybillOrderVos)){
+            truckIdAndOrderMap = rWaybillOrderVos.stream()
+                    .collect(Collectors.groupingBy(RWaybillOrderVo::getTruckId));
+        }
+
+
         //遍历所有企业
+        Map<Long, List<RWaybillOrderVo>> finalTruckIdAndOrderMap = truckIdAndOrderMap;
         List<TruckInfoVo> ents = enterpriseResDtoList.stream()
-                .map(e -> getTruckInfoVo(e, entIdAndTruckMap))
+                .map(e -> getTruckInfoVo(e, entIdAndTruckMap, finalTruckIdAndOrderMap))
                 .filter(x->CollectionUtils.isNotEmpty(x.getTruck()))
                 .collect(Collectors.toList());
         return PageDataResult.success(page.getPageNum(),page.getPageSize(),page.getTotal(),ents);
     }
 
 
-    private TruckInfoVo getTruckInfoVo(KwsEnterpriseResDto e, Map<Long, List<KwfTruck>> entIdAndTruckMap) {
+    private TruckInfoVo getTruckInfoVo(KwsEnterpriseResDto e, Map<Long, List<KwfTruck>> entIdAndTruckMap
+                                        , Map<Long, List<RWaybillOrderVo>> truckIdAndOrderMap) {
         TruckInfoVo ent = new TruckInfoVo();
         ent.setEntId(String.valueOf(e.getId()));
         ent.setEntName(e.getFirmName());
         List<KwfTruck> kwfTrucks = entIdAndTruckMap.get(e.getId());
         if (CollectionUtils.isNotEmpty(kwfTrucks)) {
             List<TruckInfoVo.TruckData> truckDataList = kwfTrucks.stream()
-                    .map(t -> getTruckData(t))
+                    .map(t -> getTruckData(t,truckIdAndOrderMap))
                     .collect(Collectors.toList());
             ent.setTruck(truckDataList);
         }
         return ent;
     }
 
-    private TruckInfoVo.TruckData getTruckData(KwfTruck t) {
+    private TruckInfoVo.TruckData getTruckData(KwfTruck t, Map<Long, List<RWaybillOrderVo>> truckIdAndOrderMap) {
         TruckInfoVo.TruckData truck = new TruckInfoVo.TruckData();
         truck.setTruckId(String.valueOf(t.getId()));
         truck.setTruckNo(t.getTruckNo());
@@ -1601,6 +1613,24 @@ public class KwfTruckService {
         return truck;
     }
 
+    private VehicleReturnData getVehicleReturnDataByOrderNo(String odrderNo) {
+        VehicleDataDTO vehicleDataDTO = new VehicleDataDTO();
+        vehicleDataDTO.setWOrderNo(odrderNo);
+        String res = null;
+        try {
+            res = HttpUtil.postJson(urlConfigProperties.getApiBaseUrl()+ UrlConstants.QUERY_REAL_TIME_TRACE_URL, JSON.toJSONString(vehicleDataDTO), null);
+        } catch (Exception e) {
+            log.error("查询任务轨迹异常",e);
+            return null;
+            // throw new BusinessException("查询任务轨迹异常");
+        }
+        if (org.apache.commons.lang3.StringUtils.isBlank(res)){
+            return null;
+        }
+        JSONObject jsonObject  = JSON.parseObject(res);
+        return JSON.parseObject(JSON.toJSONString(jsonObject.get("data")), VehicleReturnData.class);
+    }
+
     public VehicleReturnData getVehicleReturnData(String truckId) {
         VehicleDataDTO vehicleDataDTO = new VehicleDataDTO();
         vehicleDataDTO.setCarNo(truckId);
@@ -1616,7 +1646,7 @@ public class KwfTruckService {
             return null;
         }
         JSONObject jsonObject  = JSON.parseObject(res);
-        return JSON.parseObject(jsonObject.get("data").toString(), VehicleReturnData.class);
+        return JSON.parseObject(JSON.toJSONString(jsonObject.get("data")), VehicleReturnData.class);
     }
 
     public PageDataResult<AppTruckInfoVo> pageAppTruckInfo(TruckInfoReq req) {

+ 11 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwfTaskService.java

@@ -77,9 +77,16 @@ public class KwfTaskService {
         //获取上个月初到某个时间点的数据(卸货吨数)
         double unloadTonBeforeMonth = getUnloadTonBeforeMonth(waybillOrder);
         //较上个月同比增长或者下降
-        double unloadGrowthRate = (unloadTonBeforeMonth - unloadTonThisMonth) / unloadTonBeforeMonth * 100;
+        double unloadGrowthRate = 0.0;
+        if (unloadTonBeforeMonth != 0.0){
+            unloadGrowthRate= (unloadTonBeforeMonth - unloadTonThisMonth) / unloadTonBeforeMonth * 100;
+        }
+
         // 计算增长率
-        double growthRate = (double) (yesterdayTaskCount - taskTotalBeforeYesterday) / taskTotalBeforeYesterday * 100;
+        double growthRate = 0.0;
+        if (yesterdayTaskCount != 0.0){
+            growthRate= (double) (yesterdayTaskCount - taskTotalBeforeYesterday) / taskTotalBeforeYesterday * 100;
+        }
         return getTaskStatisticsVo(totalCount, taskingCount, completedCount, yesterdayTaskCount,
                 taskTotalBeforeYesterday, growthRate, unloadTon, unloadTonThisMonth, unloadTonBeforeMonth,unloadGrowthRate);
     }
@@ -185,7 +192,8 @@ public class KwfTaskService {
 
         //安装年月进行分组
         Map<String, List<KwtWaybillOrder>> yearMonthAndWayOrderListMap = waybillOrders.stream()
-                .peek(x -> DateUtils.format(x.getCreateTime(), DateUtils.FORMAT10))
+                .filter(x ->Objects.nonNull(x.getCreateTime()))
+                .peek(x ->x.setYearAndMonth(DateUtils.format(x.getCreateTime(), DateUtils.FORMAT10)) )
                 .collect(Collectors.groupingBy(KwtWaybillOrder::getYearAndMonth));
         //获取已接单的状态
         List<Integer> accepted = CarWaybillEnum.accepted();

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -102,7 +102,7 @@ public class kwfTruckTraceService {
     PaymentDubboService paymentDubboService ;
 
     public PageDataResult<KwfTruckTraceReplayVo> findPage(KwfTruckTraceReplayReq req) {
-        log.info("查询历轨迹回放氢气参数:{}", req);
+        log.info("查询历轨迹回放参数:{}", req);
         if (StringUtils.isBlank(req.getTruckNo())){
             return PageDataResult.empty(req.getPageNum(), req.getPageSize());
         }