提交 0c432ef3 authored 作者: huyufan's avatar huyufan

大屏

上级 4ce84c65
package com.clx.performance.controller.pc;
import cn.hutool.json.JSONUtil;
import com.clx.performance.service.OrderChildService;
import com.clx.user.feign.DriverFeign;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/pc/largescreen")
@Validated
@AllArgsConstructor
@Api(tags = "PC-大屏")
public class LargeScreenController {
private final OrderChildService orderChildService;
@ApiOperation(value = "空车列表", notes = "<br>By:胡宇帆")
@GetMapping("/emptyCarList")
public String emptyCarList() {
return JSONUtil.toJsonStr(orderChildService.emptyCarList());
}
@ApiOperation(value = "重车列表", notes = "<br>By:胡宇帆")
@GetMapping("/weightCarList")
public String weightCarList() {
return JSONUtil.toJsonStr(orderChildService.weightCarList());
}
}
\ No newline at end of file
...@@ -155,4 +155,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -155,4 +155,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
OrderChild getOrderCompleteLastTruck(String orderNo); OrderChild getOrderCompleteLastTruck(String orderNo);
Long haveArriveReceiveChild(String orderNo); Long haveArriveReceiveChild(String orderNo);
List<OrderChild> selectListWithEmptyCarList();
} }
...@@ -486,4 +486,14 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -486,4 +486,14 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.lt(OrderChild :: getStatus,OrderChildEnum.Status.ARRIVE_RECEIVE.getCode()); query.lt(OrderChild :: getStatus,OrderChildEnum.Status.ARRIVE_RECEIVE.getCode());
return baseMapper.selectCount(query); return baseMapper.selectCount(query);
} }
@Override
public List<OrderChild> selectListWithEmptyCarList() {
return baseMapper.selectList(lQrWrapper()
.le(OrderChild :: getStatus,OrderChildEnum.Status.UNSETTLE.getCode())
.ge(OrderChild :: getStatus,OrderChildEnum.Status.CREATED.getCode())
);
}
} }
package com.clx.performance.service; package com.clx.performance.service;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.*; import com.clx.performance.param.app.*;
...@@ -79,4 +80,8 @@ public interface OrderChildService { ...@@ -79,4 +80,8 @@ public interface OrderChildService {
List<OrderChild> selectInTransitOrderChild(String orderNo); List<OrderChild> selectInTransitOrderChild(String orderNo);
DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo); DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo);
List<JSONObject> weightCarList();
List<JSONObject> emptyCarList();
} }
package com.clx.performance.service.impl; package com.clx.performance.service.impl;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.OrderEnum; import com.clx.order.enums.OrderEnum;
...@@ -38,9 +39,11 @@ import com.clx.performance.service.settle.SettlementOwnerDetailService; ...@@ -38,9 +39,11 @@ import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.struct.*; import com.clx.performance.struct.*;
import com.clx.performance.utils.gd.GdService; import com.clx.performance.utils.gd.GdService;
import com.clx.performance.utils.spring.ApplicationContextUtils; import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.clx.user.enums.driver.DriverInfoEnum; import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.feign.DriverFeign;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo; import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO; import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
...@@ -154,6 +157,12 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -154,6 +157,12 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired @Autowired
private FeignPaymentService feignPaymentService; private FeignPaymentService feignPaymentService;
@Autowired
private ZjxlGpsService zjxlGpsService;
@Autowired
private DriverFeign driverFeign;
@Override @Override
public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) { public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) {
...@@ -2104,4 +2113,81 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2104,4 +2113,81 @@ public class OrderChildServiceImpl implements OrderChildService {
return "--"; return "--";
} }
@Override
public List<JSONObject> emptyCarList() {
List<String> data = driverFeign.driverTruckList().getData();
String now = DateUtils.formatDateTime(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss").get();
List<OrderChild> orderChildList = orderChildDao.selectListWithEmptyCarList();
if (CollectionUtils.isEmpty(orderChildList)) {
return null;
}
List<String> list = orderChildList.stream().map(OrderChild::getTruckNo).collect(Collectors.toList());
List<JSONObject> result = new LinkedList<>();
int index = 0;
for (String truckNo : data) {
if (list.contains(truckNo)) {
continue;
}
List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(truckNo, now,
now);
if(CollectionUtils.isNotEmpty(truckTrace)){
JSONObject jsonObject = new JSONObject();
BigDecimal[] location = truckTrace.get(truckTrace.size() - 1).getLocation();
BigDecimal longitude = location[0].setScale(4, BigDecimal.ROUND_DOWN);
BigDecimal latitude = location[1].setScale(4, BigDecimal.ROUND_DOWN);
jsonObject.set("id", ++index);
jsonObject.set("lng", longitude);
jsonObject.set("lat", latitude);
jsonObject.set("info", "");
jsonObject.set("value", "");
jsonObject.set("iconField", "ok");
result.add(jsonObject);
}
}
return result;
}
@Override
public List<JSONObject> weightCarList() {
List<String> data = driverFeign.driverTruckList().getData();
String now = DateUtils.formatDateTime(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss").get();
List<OrderChild> orderChildList = orderChildDao.selectListWithEmptyCarList();
if (CollectionUtils.isEmpty(orderChildList)) {
return null;
}
List<String> list = orderChildList.stream().map(OrderChild::getTruckNo).collect(Collectors.toList());
List<JSONObject> result = new LinkedList<>();
int index = 0;
for (String truckNo : data) {
if (!list.contains(truckNo)) {
continue;
}
List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(truckNo, now,
now);
if(CollectionUtils.isNotEmpty(truckTrace)){
JSONObject jsonObject = new JSONObject();
BigDecimal[] location = truckTrace.get(truckTrace.size() - 1).getLocation();
BigDecimal longitude = location[0].setScale(4, BigDecimal.ROUND_DOWN);
BigDecimal latitude = location[1].setScale(4, BigDecimal.ROUND_DOWN);
jsonObject.set("id", ++index);
jsonObject.set("lng", longitude);
jsonObject.set("lat", latitude);
jsonObject.set("info", "");
jsonObject.set("value", "");
jsonObject.set("iconField", "ok");
result.add(jsonObject);
}
}
return result;
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论