wzp
2025-05-13 a2704917e53918213ce91390d14a98960fdd5bab
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java
@@ -1,7 +1,13 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import java.util.*;
import com.ruoyi.system.domain.DispatchOrd;
import com.ruoyi.system.domain.TbOrders;
import com.ruoyi.system.domain.TbVehicleOrder;
import com.ruoyi.system.service.IDispatchOrdService;
import com.ruoyi.system.service.ITbOrdersService;
import com.ruoyi.system.service.ITbVehicleOrderService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -31,12 +37,23 @@
public class VehicleGpsController extends BaseController {
    @Autowired
    private IVehicleGpsService vehicleGpsService;
    @Autowired
    private ITbVehicleOrderService tbVehicleOrderService;
    @Autowired
    private IDispatchOrdService dispatchOrdService;
    @Autowired
    private ITbOrdersService tbOrdersService;
   /**
     * 查询车辆GPS坐标列表
     */  
    @PreAuthorize("@ss.hasPermi('system:gps:list')")
    @GetMapping("/list")
    public TableDataInfo list(VehicleGps vehicleGps) {
        startPage();
        // 设置按时间倒序排序
        vehicleGps.setOrderByColumn("collect_time");
@@ -47,6 +64,50 @@
    @Anonymous(needSign=true)   
    @GetMapping("/anonymousList")
    public TableDataInfo anonymousList(VehicleGps vehicleGps) {
        if(vehicleGps.getOrderId()==null)
        {
            return getDataTable(new ArrayList<>());
        }
        //查询订单
        TbVehicleOrder tbVehicleOrder = tbVehicleOrderService.selectTbVehicleOrderById(vehicleGps.getOrderId());
        if(tbVehicleOrder==null)
        {
            return getDataTable(new ArrayList<>());
        }
        if(!Objects.equals(tbVehicleOrder.getStatus(), "0"))
        {
            //非0表示订单完成了。
            TbOrders tbOrders = tbOrdersService.selectTbOrdersByOrderID(vehicleGps.getOrderId());
            if(tbOrders==null)
            {
                return getDataTable(new ArrayList<>());
            }
            DispatchOrd dispatchOrd = dispatchOrdService.selectDispatchOrdByServiceOrdIDDt(tbOrders.getServiceOrdID());
            if(dispatchOrd==null)
            {
                return getDataTable(new ArrayList<>());
            }
            Map<String, Object> params = new HashMap<>();
            params.put("beginTime",dispatchOrd.getDispatchOrdStartDate());
            params.put("endTime",dispatchOrd.getDispatchOrdUpdateTime());
            vehicleGps.setVehicleNo(tbVehicleOrder.getVehicle());
            startPage();
            // 设置按时间倒序排序
            vehicleGps.setOrderByColumn("collect_time");
            vehicleGps.setIsAsc("desc");
            List<VehicleGps> list = vehicleGpsService.selectVehicleGpsList(vehicleGps);
            return getDataTable(list);
        }
        vehicleGps.setVehicleNo(tbVehicleOrder.getVehicle());
        startPage();
        // 设置按时间倒序排序
        vehicleGps.setOrderByColumn("collect_time");