package com.ruoyi.web.controller.system;
|
|
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;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import com.ruoyi.common.annotation.Anonymous;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.system.domain.VehicleGps;
|
import com.ruoyi.system.service.IVehicleGpsService;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
/**
|
* 车辆GPS坐标Controller
|
*/
|
@RestController
|
@RequestMapping("/system/gps")
|
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");
|
vehicleGps.setIsAsc("desc");
|
List<VehicleGps> list = vehicleGpsService.selectVehicleGpsList(vehicleGps);
|
return getDataTable(list);
|
}
|
@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表示订单完成了。
|
try {
|
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);
|
}
|
catch (Exception ex)
|
{
|
logger.error("已完成的订单查询地图异常:{}",ex.getMessage());
|
return getDataTable(new ArrayList<>());
|
}
|
}
|
|
vehicleGps.setVehicleNo(tbVehicleOrder.getVehicle());
|
startPage();
|
// 设置按时间倒序排序
|
vehicleGps.setOrderByColumn("collect_time");
|
vehicleGps.setIsAsc("desc");
|
List<VehicleGps> list = vehicleGpsService.selectVehicleGpsList(vehicleGps);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出车辆GPS坐标列表
|
*/
|
@PreAuthorize("@ss.hasPermi('system:gps:export')")
|
@Log(title = "车辆GPS坐标", businessType = BusinessType.EXPORT)
|
@GetMapping("/export")
|
public AjaxResult export(VehicleGps vehicleGps) {
|
// 设置按时间倒序排序
|
vehicleGps.setOrderByColumn("collect_time");
|
vehicleGps.setIsAsc("desc");
|
List<VehicleGps> list = vehicleGpsService.selectVehicleGpsList(vehicleGps);
|
ExcelUtil<VehicleGps> util = new ExcelUtil<VehicleGps>(VehicleGps.class);
|
return util.exportExcel(list, "车辆GPS坐标数据");
|
}
|
|
/**
|
* 获取车辆GPS坐标详细信息
|
*/
|
@PreAuthorize("@ss.hasPermi('system:gps:query')")
|
@GetMapping(value = "/{gpsId}")
|
public AjaxResult getInfo(@PathVariable("gpsId") Long gpsId) {
|
return success(vehicleGpsService.selectVehicleGpsById(gpsId));
|
}
|
|
/**
|
* 新增车辆GPS坐标
|
*/
|
@PreAuthorize("@ss.hasPermi('system:gps:add')")
|
@Log(title = "车辆GPS坐标", businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody VehicleGps vehicleGps) {
|
return toAjax(vehicleGpsService.insertVehicleGps(vehicleGps));
|
}
|
|
/**
|
* 修改车辆GPS坐标
|
*/
|
@PreAuthorize("@ss.hasPermi('system:gps:edit')")
|
@Log(title = "车辆GPS坐标", businessType = BusinessType.UPDATE)
|
@PutMapping
|
public AjaxResult edit(@RequestBody VehicleGps vehicleGps) {
|
return toAjax(vehicleGpsService.updateVehicleGps(vehicleGps));
|
}
|
|
/**
|
* 删除车辆GPS坐标
|
*/
|
@PreAuthorize("@ss.hasPermi('system:gps:remove')")
|
@Log(title = "车辆GPS坐标", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{gpsIds}")
|
public AjaxResult remove(@PathVariable Long[] gpsIds) {
|
return toAjax(vehicleGpsService.deleteVehicleGpsByIds(gpsIds));
|
}
|
}
|