New file |
| | |
| | | package com.ruoyi.web.controller.system; |
| | | |
| | | import java.util.List; |
| | | 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.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.GpsCollectLog; |
| | | import com.ruoyi.system.service.IGpsCollectLogService; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | |
| | | /** |
| | | * GPS采集日志Controller |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/system/gpslog") |
| | | public class GpsCollectLogController extends BaseController { |
| | | @Autowired |
| | | private IGpsCollectLogService gpsCollectLogService; |
| | | |
| | | /** |
| | | * 查询GPS采集日志列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:gpslog:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(GpsCollectLog gpsCollectLog) { |
| | | startPage(); |
| | | List<GpsCollectLog> list = gpsCollectLogService.selectGpsCollectLogList(gpsCollectLog); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 导出GPS采集日志列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:gpslog:export')") |
| | | @Log(title = "GPS采集日志", businessType = BusinessType.EXPORT) |
| | | @GetMapping("/export") |
| | | public AjaxResult export(GpsCollectLog gpsCollectLog) { |
| | | List<GpsCollectLog> list = gpsCollectLogService.selectGpsCollectLogList(gpsCollectLog); |
| | | ExcelUtil<GpsCollectLog> util = new ExcelUtil<GpsCollectLog>(GpsCollectLog.class); |
| | | return util.exportExcel(list, "GPS采集日志数据"); |
| | | } |
| | | |
| | | /** |
| | | * 获取GPS采集日志详细信息 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:gpslog:query')") |
| | | @GetMapping(value = "/{logId}") |
| | | public AjaxResult getInfo(@PathVariable("logId") Long logId) { |
| | | return success(gpsCollectLogService.selectGpsCollectLogById(logId)); |
| | | } |
| | | |
| | | /** |
| | | * 新增GPS采集日志 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:gpslog:add')") |
| | | @Log(title = "GPS采集日志", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody GpsCollectLog gpsCollectLog) { |
| | | return toAjax(gpsCollectLogService.insertGpsCollectLog(gpsCollectLog)); |
| | | } |
| | | |
| | | /** |
| | | * 修改GPS采集日志 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:gpslog:edit')") |
| | | @Log(title = "GPS采集日志", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody GpsCollectLog gpsCollectLog) { |
| | | return toAjax(gpsCollectLogService.updateGpsCollectLog(gpsCollectLog)); |
| | | } |
| | | |
| | | /** |
| | | * 删除GPS采集日志 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:gpslog:remove')") |
| | | @Log(title = "GPS采集日志", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{logIds}") |
| | | public AjaxResult remove(@PathVariable Long[] logIds) { |
| | | return toAjax(gpsCollectLogService.deleteGpsCollectLogByIds(logIds)); |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.common.annotation.Anonymous; |
| | | import com.ruoyi.common.annotation.DataSource; |
| | | import com.ruoyi.common.constant.HttpStatus; |
| | | import com.ruoyi.common.core.domain.entity.ServiceOrderAppVo; |
| | | |
| | | import com.ruoyi.common.enums.DataSourceType; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
New file |
| | |
| | | package com.ruoyi.web.controller.system; |
| | | |
| | | import java.util.List; |
| | | 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.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; |
| | | |
| | | /** |
| | | * 查询车辆GPS坐标列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:gps:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(VehicleGps vehicleGps) { |
| | | startPage(); |
| | | 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) { |
| | | 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)); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.web.controller.system; |
| | | |
| | | import java.util.List; |
| | | 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.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.VehicleInfo; |
| | | import com.ruoyi.system.service.IVehicleInfoService; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | |
| | | /** |
| | | * 车辆信息Controller |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/system/vehicle") |
| | | public class VehicleInfoController extends BaseController { |
| | | @Autowired |
| | | private IVehicleInfoService vehicleInfoService; |
| | | |
| | | /** |
| | | * 查询车辆信息列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:vehicle:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(VehicleInfo vehicleInfo) { |
| | | startPage(); |
| | | List<VehicleInfo> list = vehicleInfoService.selectVehicleInfoList(vehicleInfo); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 导出车辆信息列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:vehicle:export')") |
| | | @Log(title = "车辆信息", businessType = BusinessType.EXPORT) |
| | | @GetMapping("/export") |
| | | public AjaxResult export(VehicleInfo vehicleInfo) { |
| | | List<VehicleInfo> list = vehicleInfoService.selectVehicleInfoList(vehicleInfo); |
| | | ExcelUtil<VehicleInfo> util = new ExcelUtil<VehicleInfo>(VehicleInfo.class); |
| | | return util.exportExcel(list, "车辆信息数据"); |
| | | } |
| | | |
| | | /** |
| | | * 获取车辆信息详细信息 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:vehicle:query')") |
| | | @GetMapping(value = "/{vehicleId}") |
| | | public AjaxResult getInfo(@PathVariable("vehicleId") Long vehicleId) { |
| | | return success(vehicleInfoService.selectVehicleInfoById(vehicleId)); |
| | | } |
| | | |
| | | /** |
| | | * 新增车辆信息 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:vehicle:add')") |
| | | @Log(title = "车辆信息", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody VehicleInfo vehicleInfo) { |
| | | return toAjax(vehicleInfoService.insertVehicleInfo(vehicleInfo)); |
| | | } |
| | | |
| | | /** |
| | | * 修改车辆信息 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:vehicle:edit')") |
| | | @Log(title = "车辆信息", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody VehicleInfo vehicleInfo) { |
| | | return toAjax(vehicleInfoService.updateVehicleInfo(vehicleInfo)); |
| | | } |
| | | |
| | | /** |
| | | * 删除车辆信息 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:vehicle:remove')") |
| | | @Log(title = "车辆信息", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{vehicleIds}") |
| | | public AjaxResult remove(@PathVariable Long[] vehicleIds) { |
| | | return toAjax(vehicleInfoService.deleteVehicleInfoByIds(vehicleIds)); |
| | | } |
| | | } |
| | |
| | | # 地址 |
| | | host: localhost |
| | | # 端口,默认为6379 |
| | | port: 16379 |
| | | port: 6379 |
| | | # 数据库索引 |
| | | database: 0 |
| | | # 密码 |
| | |
| | | <setting name="defaultExecutorType" value="SIMPLE" /> |
| | | <!-- 指定 MyBatis 所用日志的具体实现 --> |
| | | <setting name="logImpl" value="SLF4J" /> |
| | | <!-- 使用驼峰命名法转换字段 --> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/> |
| | | <!-- 使用列别名替换列名 默认:true --> |
| | | <setting name="useColumnLabel" value="true" /> |
| | | <!-- 配置SQL Server方言 --> |
| | | <setting name="databaseId" value="sqlserver" /> |
| | | <!-- SQL Server特定配置 --> |
| | | <setting name="jdbcTypeForNull" value="NULL"/> |
| | | <setting name="defaultExecutorType" value="BATCH"/> |
| | | |
| | | </settings> |
| | | |
| | | </configuration> |
New file |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import org.apache.commons.lang3.builder.ToStringBuilder; |
| | | import org.apache.commons.lang3.builder.ToStringStyle; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | |
| | | /** |
| | | * GPS采集日志对象 tb_gps_collect_log |
| | | */ |
| | | public class GpsCollectLog extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** 日志ID */ |
| | | private Long logId; |
| | | |
| | | /** 车辆ID */ |
| | | @Excel(name = "车辆ID") |
| | | private Long vehicleId; |
| | | |
| | | /** 车牌号 */ |
| | | @Excel(name = "车牌号") |
| | | private String vehicleNo; |
| | | |
| | | /** 采集类型(1自动 2手动) */ |
| | | @Excel(name = "采集类型", readConverterExp = "1=自动,2=手动") |
| | | private String collectType; |
| | | |
| | | /** 采集状态(0成功 1失败) */ |
| | | @Excel(name = "采集状态", readConverterExp = "0=成功,1=失败") |
| | | private String collectStatus; |
| | | |
| | | /** 错误信息 */ |
| | | @Excel(name = "错误信息") |
| | | private String errorMsg; |
| | | |
| | | /** 采集时间 */ |
| | | @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private String collectTime; |
| | | |
| | | public void setLogId(Long logId) { |
| | | this.logId = logId; |
| | | } |
| | | |
| | | public Long getLogId() { |
| | | return logId; |
| | | } |
| | | |
| | | public void setVehicleId(Long vehicleId) { |
| | | this.vehicleId = vehicleId; |
| | | } |
| | | |
| | | public Long getVehicleId() { |
| | | return vehicleId; |
| | | } |
| | | |
| | | public void setVehicleNo(String vehicleNo) { |
| | | this.vehicleNo = vehicleNo; |
| | | } |
| | | |
| | | public String getVehicleNo() { |
| | | return vehicleNo; |
| | | } |
| | | |
| | | public void setCollectType(String collectType) { |
| | | this.collectType = collectType; |
| | | } |
| | | |
| | | public String getCollectType() { |
| | | return collectType; |
| | | } |
| | | |
| | | public void setCollectStatus(String collectStatus) { |
| | | this.collectStatus = collectStatus; |
| | | } |
| | | |
| | | public String getCollectStatus() { |
| | | return collectStatus; |
| | | } |
| | | |
| | | public void setErrorMsg(String errorMsg) { |
| | | this.errorMsg = errorMsg; |
| | | } |
| | | |
| | | public String getErrorMsg() { |
| | | return errorMsg; |
| | | } |
| | | |
| | | public void setCollectTime(String collectTime) { |
| | | this.collectTime = collectTime; |
| | | } |
| | | |
| | | public String getCollectTime() { |
| | | return collectTime; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) |
| | | .append("logId", getLogId()) |
| | | .append("vehicleId", getVehicleId()) |
| | | .append("vehicleNo", getVehicleNo()) |
| | | .append("collectType", getCollectType()) |
| | | .append("collectStatus", getCollectStatus()) |
| | | .append("errorMsg", getErrorMsg()) |
| | | .append("collectTime", getCollectTime()) |
| | | .append("createTime", getCreateTime()) |
| | | .toString(); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import org.apache.commons.lang3.builder.ToStringBuilder; |
| | | import org.apache.commons.lang3.builder.ToStringStyle; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | |
| | | /** |
| | | * 车辆GPS坐标对象 tb_vehicle_gps |
| | | */ |
| | | public class VehicleGps extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** GPS记录ID */ |
| | | private Long gpsId; |
| | | |
| | | /** 车辆ID */ |
| | | @Excel(name = "车辆ID") |
| | | private Long vehicleId; |
| | | |
| | | /** 车牌号 */ |
| | | @Excel(name = "车牌号") |
| | | private String vehicleNo; |
| | | |
| | | /** 经度 */ |
| | | @Excel(name = "经度") |
| | | private Double longitude; |
| | | |
| | | /** 纬度 */ |
| | | @Excel(name = "纬度") |
| | | private Double latitude; |
| | | |
| | | /** 海拔 */ |
| | | @Excel(name = "海拔") |
| | | private Double altitude; |
| | | |
| | | /** 速度(km/h) */ |
| | | @Excel(name = "速度") |
| | | private Double speed; |
| | | |
| | | /** 方向(度) */ |
| | | @Excel(name = "方向") |
| | | private Double direction; |
| | | |
| | | /** 采集时间 */ |
| | | @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private String collectTime; |
| | | |
| | | public void setGpsId(Long gpsId) { |
| | | this.gpsId = gpsId; |
| | | } |
| | | |
| | | public Long getGpsId() { |
| | | return gpsId; |
| | | } |
| | | |
| | | public void setVehicleId(Long vehicleId) { |
| | | this.vehicleId = vehicleId; |
| | | } |
| | | |
| | | public Long getVehicleId() { |
| | | return vehicleId; |
| | | } |
| | | |
| | | public void setVehicleNo(String vehicleNo) { |
| | | this.vehicleNo = vehicleNo; |
| | | } |
| | | |
| | | public String getVehicleNo() { |
| | | return vehicleNo; |
| | | } |
| | | |
| | | public void setLongitude(Double longitude) { |
| | | this.longitude = longitude; |
| | | } |
| | | |
| | | public Double getLongitude() { |
| | | return longitude; |
| | | } |
| | | |
| | | public void setLatitude(Double latitude) { |
| | | this.latitude = latitude; |
| | | } |
| | | |
| | | public Double getLatitude() { |
| | | return latitude; |
| | | } |
| | | |
| | | public void setAltitude(Double altitude) { |
| | | this.altitude = altitude; |
| | | } |
| | | |
| | | public Double getAltitude() { |
| | | return altitude; |
| | | } |
| | | |
| | | public void setSpeed(Double speed) { |
| | | this.speed = speed; |
| | | } |
| | | |
| | | public Double getSpeed() { |
| | | return speed; |
| | | } |
| | | |
| | | public void setDirection(Double direction) { |
| | | this.direction = direction; |
| | | } |
| | | |
| | | public Double getDirection() { |
| | | return direction; |
| | | } |
| | | |
| | | public void setCollectTime(String collectTime) { |
| | | this.collectTime = collectTime; |
| | | } |
| | | |
| | | public String getCollectTime() { |
| | | return collectTime; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) |
| | | .append("gpsId", getGpsId()) |
| | | .append("vehicleId", getVehicleId()) |
| | | .append("vehicleNo", getVehicleNo()) |
| | | .append("longitude", getLongitude()) |
| | | .append("latitude", getLatitude()) |
| | | .append("altitude", getAltitude()) |
| | | .append("speed", getSpeed()) |
| | | .append("direction", getDirection()) |
| | | .append("collectTime", getCollectTime()) |
| | | .append("createTime", getCreateTime()) |
| | | .toString(); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import org.apache.commons.lang3.builder.ToStringBuilder; |
| | | import org.apache.commons.lang3.builder.ToStringStyle; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | |
| | | /** |
| | | * 车辆信息对象 tb_vehicle_info |
| | | */ |
| | | public class VehicleInfo extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** 车辆ID */ |
| | | private Long vehicleId; |
| | | |
| | | /** 车牌号 */ |
| | | @Excel(name = "车牌号") |
| | | private String vehicleNo; |
| | | |
| | | /** 车辆类型 */ |
| | | @Excel(name = "车辆类型") |
| | | private String vehicleType; |
| | | |
| | | /** 车辆品牌 */ |
| | | @Excel(name = "车辆品牌") |
| | | private String vehicleBrand; |
| | | |
| | | /** 车辆型号 */ |
| | | @Excel(name = "车辆型号") |
| | | private String vehicleModel; |
| | | |
| | | /** 状态(0正常 1停用) */ |
| | | @Excel(name = "状态", readConverterExp = "0=正常,1=停用") |
| | | private String status; |
| | | |
| | | public void setVehicleId(Long vehicleId) { |
| | | this.vehicleId = vehicleId; |
| | | } |
| | | |
| | | public Long getVehicleId() { |
| | | return vehicleId; |
| | | } |
| | | |
| | | public void setVehicleNo(String vehicleNo) { |
| | | this.vehicleNo = vehicleNo; |
| | | } |
| | | |
| | | public String getVehicleNo() { |
| | | return vehicleNo; |
| | | } |
| | | |
| | | public void setVehicleType(String vehicleType) { |
| | | this.vehicleType = vehicleType; |
| | | } |
| | | |
| | | public String getVehicleType() { |
| | | return vehicleType; |
| | | } |
| | | |
| | | public void setVehicleBrand(String vehicleBrand) { |
| | | this.vehicleBrand = vehicleBrand; |
| | | } |
| | | |
| | | public String getVehicleBrand() { |
| | | return vehicleBrand; |
| | | } |
| | | |
| | | public void setVehicleModel(String vehicleModel) { |
| | | this.vehicleModel = vehicleModel; |
| | | } |
| | | |
| | | public String getVehicleModel() { |
| | | return vehicleModel; |
| | | } |
| | | |
| | | public void setStatus(String status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public String getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) |
| | | .append("vehicleId", getVehicleId()) |
| | | .append("vehicleNo", getVehicleNo()) |
| | | .append("vehicleType", getVehicleType()) |
| | | .append("vehicleBrand", getVehicleBrand()) |
| | | .append("vehicleModel", getVehicleModel()) |
| | | .append("status", getStatus()) |
| | | .append("createBy", getCreateBy()) |
| | | .append("createTime", getCreateTime()) |
| | | .append("updateBy", getUpdateBy()) |
| | | .append("updateTime", getUpdateTime()) |
| | | .append("remark", getRemark()) |
| | | .toString(); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.exception; |
| | | |
| | | /** |
| | | * 业务异常类 |
| | | */ |
| | | public class ServiceException extends RuntimeException { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 错误码 |
| | | */ |
| | | private Integer code; |
| | | |
| | | /** |
| | | * 错误提示 |
| | | */ |
| | | private String message; |
| | | |
| | | /** |
| | | * 错误明细,内部调试错误 |
| | | */ |
| | | private String detailMessage; |
| | | |
| | | /** |
| | | * 空构造方法,避免反序列化问题 |
| | | */ |
| | | public ServiceException() { |
| | | } |
| | | |
| | | public ServiceException(String message) { |
| | | this.message = message; |
| | | } |
| | | |
| | | public ServiceException(String message, Integer code) { |
| | | this.message = message; |
| | | this.code = code; |
| | | } |
| | | |
| | | public String getDetailMessage() { |
| | | return detailMessage; |
| | | } |
| | | |
| | | public String getMessage() { |
| | | return message; |
| | | } |
| | | |
| | | public Integer getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public ServiceException setDetailMessage(String detailMessage) { |
| | | this.detailMessage = detailMessage; |
| | | return this; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import java.util.List; |
| | | import com.ruoyi.system.domain.GpsCollectLog; |
| | | |
| | | /** |
| | | * GPS采集日志Mapper接口 |
| | | */ |
| | | public interface GpsCollectLogMapper { |
| | | /** |
| | | * 查询GPS采集日志 |
| | | */ |
| | | public GpsCollectLog selectGpsCollectLogById(Long logId); |
| | | |
| | | /** |
| | | * 查询GPS采集日志列表 |
| | | */ |
| | | public List<GpsCollectLog> selectGpsCollectLogList(GpsCollectLog gpsCollectLog); |
| | | |
| | | /** |
| | | * 新增GPS采集日志 |
| | | */ |
| | | public int insertGpsCollectLog(GpsCollectLog gpsCollectLog); |
| | | |
| | | /** |
| | | * 修改GPS采集日志 |
| | | */ |
| | | public int updateGpsCollectLog(GpsCollectLog gpsCollectLog); |
| | | |
| | | /** |
| | | * 删除GPS采集日志 |
| | | */ |
| | | public int deleteGpsCollectLogById(Long logId); |
| | | |
| | | /** |
| | | * 批量删除GPS采集日志 |
| | | */ |
| | | public int deleteGpsCollectLogByIds(Long[] logIds); |
| | | |
| | | /** |
| | | * 根据车牌号获取车辆ID |
| | | */ |
| | | public Long getVehicleIdByNo(String vehicleNo); |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import java.util.List; |
| | | import com.ruoyi.system.domain.VehicleGps; |
| | | |
| | | /** |
| | | * 车辆GPS坐标Mapper接口 |
| | | */ |
| | | public interface VehicleGpsMapper { |
| | | /** |
| | | * 查询车辆GPS坐标 |
| | | */ |
| | | public VehicleGps selectVehicleGpsById(Long gpsId); |
| | | |
| | | /** |
| | | * 查询车辆GPS坐标列表 |
| | | */ |
| | | public List<VehicleGps> selectVehicleGpsList(VehicleGps vehicleGps); |
| | | |
| | | /** |
| | | * 新增车辆GPS坐标 |
| | | */ |
| | | public int insertVehicleGps(VehicleGps vehicleGps); |
| | | |
| | | /** |
| | | * 修改车辆GPS坐标 |
| | | */ |
| | | public int updateVehicleGps(VehicleGps vehicleGps); |
| | | |
| | | /** |
| | | * 删除车辆GPS坐标 |
| | | */ |
| | | public int deleteVehicleGpsById(Long gpsId); |
| | | |
| | | /** |
| | | * 批量删除车辆GPS坐标 |
| | | */ |
| | | public int deleteVehicleGpsByIds(Long[] gpsIds); |
| | | |
| | | /** |
| | | * 根据车牌号获取车辆ID |
| | | */ |
| | | public Long getVehicleIdByNo(String vehicleNo); |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import java.util.List; |
| | | import com.ruoyi.system.domain.VehicleInfo; |
| | | |
| | | /** |
| | | * 车辆信息Mapper接口 |
| | | */ |
| | | public interface VehicleInfoMapper { |
| | | /** |
| | | * 查询车辆信息 |
| | | */ |
| | | public VehicleInfo selectVehicleInfoById(Long vehicleId); |
| | | |
| | | /** |
| | | * 查询车辆信息列表 |
| | | */ |
| | | public List<VehicleInfo> selectVehicleInfoList(VehicleInfo vehicleInfo); |
| | | |
| | | /** |
| | | * 新增车辆信息 |
| | | */ |
| | | public int insertVehicleInfo(VehicleInfo vehicleInfo); |
| | | |
| | | /** |
| | | * 修改车辆信息 |
| | | */ |
| | | public int updateVehicleInfo(VehicleInfo vehicleInfo); |
| | | |
| | | /** |
| | | * 删除车辆信息 |
| | | */ |
| | | public int deleteVehicleInfoById(Long vehicleId); |
| | | |
| | | /** |
| | | * 批量删除车辆信息 |
| | | */ |
| | | public int deleteVehicleInfoByIds(Long[] vehicleIds); |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import java.util.List; |
| | | import com.ruoyi.system.domain.GpsCollectLog; |
| | | |
| | | /** |
| | | * GPS采集日志Service接口 |
| | | */ |
| | | public interface IGpsCollectLogService { |
| | | /** |
| | | * 查询GPS采集日志 |
| | | */ |
| | | public GpsCollectLog selectGpsCollectLogById(Long logId); |
| | | |
| | | /** |
| | | * 查询GPS采集日志列表 |
| | | */ |
| | | public List<GpsCollectLog> selectGpsCollectLogList(GpsCollectLog gpsCollectLog); |
| | | |
| | | /** |
| | | * 新增GPS采集日志 |
| | | */ |
| | | public int insertGpsCollectLog(GpsCollectLog gpsCollectLog); |
| | | |
| | | /** |
| | | * 修改GPS采集日志 |
| | | */ |
| | | public int updateGpsCollectLog(GpsCollectLog gpsCollectLog); |
| | | |
| | | /** |
| | | * 批量删除GPS采集日志 |
| | | */ |
| | | public int deleteGpsCollectLogByIds(Long[] logIds); |
| | | |
| | | /** |
| | | * 删除GPS采集日志信息 |
| | | */ |
| | | public int deleteGpsCollectLogById(Long logId); |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import java.util.List; |
| | | import com.ruoyi.system.domain.VehicleGps; |
| | | |
| | | /** |
| | | * 车辆GPS坐标Service接口 |
| | | */ |
| | | public interface IVehicleGpsService { |
| | | /** |
| | | * 查询车辆GPS坐标 |
| | | */ |
| | | public VehicleGps selectVehicleGpsById(Long gpsId); |
| | | |
| | | /** |
| | | * 查询车辆GPS坐标列表 |
| | | */ |
| | | public List<VehicleGps> selectVehicleGpsList(VehicleGps vehicleGps); |
| | | |
| | | /** |
| | | * 新增车辆GPS坐标 |
| | | */ |
| | | public int insertVehicleGps(VehicleGps vehicleGps); |
| | | |
| | | /** |
| | | * 修改车辆GPS坐标 |
| | | */ |
| | | public int updateVehicleGps(VehicleGps vehicleGps); |
| | | |
| | | /** |
| | | * 批量删除车辆GPS坐标 |
| | | */ |
| | | public int deleteVehicleGpsByIds(Long[] gpsIds); |
| | | |
| | | /** |
| | | * 删除车辆GPS坐标信息 |
| | | */ |
| | | public int deleteVehicleGpsById(Long gpsId); |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import java.util.List; |
| | | import com.ruoyi.system.domain.VehicleInfo; |
| | | |
| | | /** |
| | | * 车辆信息Service接口 |
| | | */ |
| | | public interface IVehicleInfoService { |
| | | /** |
| | | * 查询车辆信息 |
| | | */ |
| | | public VehicleInfo selectVehicleInfoById(Long vehicleId); |
| | | |
| | | /** |
| | | * 查询车辆信息列表 |
| | | */ |
| | | public List<VehicleInfo> selectVehicleInfoList(VehicleInfo vehicleInfo); |
| | | |
| | | /** |
| | | * 新增车辆信息 |
| | | */ |
| | | public int insertVehicleInfo(VehicleInfo vehicleInfo); |
| | | |
| | | /** |
| | | * 修改车辆信息 |
| | | */ |
| | | public int updateVehicleInfo(VehicleInfo vehicleInfo); |
| | | |
| | | /** |
| | | * 批量删除车辆信息 |
| | | */ |
| | | public int deleteVehicleInfoByIds(Long[] vehicleIds); |
| | | |
| | | /** |
| | | * 删除车辆信息信息 |
| | | */ |
| | | public int deleteVehicleInfoById(Long vehicleId); |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import java.util.List; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.ruoyi.system.mapper.GpsCollectLogMapper; |
| | | import com.ruoyi.system.domain.GpsCollectLog; |
| | | import com.ruoyi.system.service.IGpsCollectLogService; |
| | | import com.ruoyi.system.exception.ServiceException; |
| | | |
| | | /** |
| | | * GPS采集日志Service业务层处理 |
| | | */ |
| | | @Service |
| | | public class GpsCollectLogServiceImpl implements IGpsCollectLogService { |
| | | @Autowired |
| | | private GpsCollectLogMapper gpsCollectLogMapper; |
| | | |
| | | /** |
| | | * 查询GPS采集日志 |
| | | */ |
| | | @Override |
| | | public GpsCollectLog selectGpsCollectLogById(Long logId) { |
| | | return gpsCollectLogMapper.selectGpsCollectLogById(logId); |
| | | } |
| | | |
| | | /** |
| | | * 查询GPS采集日志列表 |
| | | */ |
| | | @Override |
| | | public List<GpsCollectLog> selectGpsCollectLogList(GpsCollectLog gpsCollectLog) { |
| | | return gpsCollectLogMapper.selectGpsCollectLogList(gpsCollectLog); |
| | | } |
| | | |
| | | /** |
| | | * 新增GPS采集日志 |
| | | */ |
| | | @Override |
| | | public int insertGpsCollectLog(GpsCollectLog gpsCollectLog) { |
| | | // 根据车牌号获取车辆ID |
| | | Long vehicleId = gpsCollectLogMapper.getVehicleIdByNo(gpsCollectLog.getVehicleNo()); |
| | | if (vehicleId == null) { |
| | | throw new ServiceException("未找到对应的车辆信息"); |
| | | } |
| | | gpsCollectLog.setVehicleId(vehicleId); |
| | | return gpsCollectLogMapper.insertGpsCollectLog(gpsCollectLog); |
| | | } |
| | | |
| | | /** |
| | | * 修改GPS采集日志 |
| | | */ |
| | | @Override |
| | | public int updateGpsCollectLog(GpsCollectLog gpsCollectLog) { |
| | | // 根据车牌号获取车辆ID |
| | | Long vehicleId = gpsCollectLogMapper.getVehicleIdByNo(gpsCollectLog.getVehicleNo()); |
| | | if (vehicleId == null) { |
| | | throw new ServiceException("未找到对应的车辆信息"); |
| | | } |
| | | gpsCollectLog.setVehicleId(vehicleId); |
| | | return gpsCollectLogMapper.updateGpsCollectLog(gpsCollectLog); |
| | | } |
| | | |
| | | /** |
| | | * 批量删除GPS采集日志 |
| | | */ |
| | | @Override |
| | | public int deleteGpsCollectLogByIds(Long[] logIds) { |
| | | return gpsCollectLogMapper.deleteGpsCollectLogByIds(logIds); |
| | | } |
| | | |
| | | /** |
| | | * 删除GPS采集日志信息 |
| | | */ |
| | | @Override |
| | | public int deleteGpsCollectLogById(Long logId) { |
| | | return gpsCollectLogMapper.deleteGpsCollectLogById(logId); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import java.util.List; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.ruoyi.system.mapper.VehicleGpsMapper; |
| | | import com.ruoyi.system.domain.VehicleGps; |
| | | import com.ruoyi.system.service.IVehicleGpsService; |
| | | import com.ruoyi.system.exception.ServiceException; |
| | | |
| | | /** |
| | | * 车辆GPS坐标Service业务层处理 |
| | | */ |
| | | @Service |
| | | public class VehicleGpsServiceImpl implements IVehicleGpsService { |
| | | @Autowired |
| | | private VehicleGpsMapper vehicleGpsMapper; |
| | | |
| | | /** |
| | | * 查询车辆GPS坐标 |
| | | */ |
| | | @Override |
| | | public VehicleGps selectVehicleGpsById(Long gpsId) { |
| | | return vehicleGpsMapper.selectVehicleGpsById(gpsId); |
| | | } |
| | | |
| | | /** |
| | | * 查询车辆GPS坐标列表 |
| | | */ |
| | | @Override |
| | | public List<VehicleGps> selectVehicleGpsList(VehicleGps vehicleGps) { |
| | | return vehicleGpsMapper.selectVehicleGpsList(vehicleGps); |
| | | } |
| | | |
| | | /** |
| | | * 新增车辆GPS坐标 |
| | | */ |
| | | @Override |
| | | public int insertVehicleGps(VehicleGps vehicleGps) { |
| | | // 根据车牌号获取车辆ID |
| | | Long vehicleId = vehicleGpsMapper.getVehicleIdByNo(vehicleGps.getVehicleNo()); |
| | | if (vehicleId == null) { |
| | | throw new ServiceException("未找到对应的车辆信息"); |
| | | } |
| | | vehicleGps.setVehicleId(vehicleId); |
| | | return vehicleGpsMapper.insertVehicleGps(vehicleGps); |
| | | } |
| | | |
| | | /** |
| | | * 修改车辆GPS坐标 |
| | | */ |
| | | @Override |
| | | public int updateVehicleGps(VehicleGps vehicleGps) { |
| | | // 根据车牌号获取车辆ID |
| | | Long vehicleId = vehicleGpsMapper.getVehicleIdByNo(vehicleGps.getVehicleNo()); |
| | | if (vehicleId == null) { |
| | | throw new ServiceException("未找到对应的车辆信息"); |
| | | } |
| | | vehicleGps.setVehicleId(vehicleId); |
| | | return vehicleGpsMapper.updateVehicleGps(vehicleGps); |
| | | } |
| | | |
| | | /** |
| | | * 批量删除车辆GPS坐标 |
| | | */ |
| | | @Override |
| | | public int deleteVehicleGpsByIds(Long[] gpsIds) { |
| | | return vehicleGpsMapper.deleteVehicleGpsByIds(gpsIds); |
| | | } |
| | | |
| | | /** |
| | | * 删除车辆GPS坐标信息 |
| | | */ |
| | | @Override |
| | | public int deleteVehicleGpsById(Long gpsId) { |
| | | return vehicleGpsMapper.deleteVehicleGpsById(gpsId); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import java.util.List; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.ruoyi.system.mapper.VehicleInfoMapper; |
| | | import com.ruoyi.system.domain.VehicleInfo; |
| | | import com.ruoyi.system.service.IVehicleInfoService; |
| | | |
| | | /** |
| | | * 车辆信息Service业务层处理 |
| | | */ |
| | | @Service |
| | | public class VehicleInfoServiceImpl implements IVehicleInfoService { |
| | | @Autowired |
| | | private VehicleInfoMapper vehicleInfoMapper; |
| | | |
| | | /** |
| | | * 查询车辆信息 |
| | | */ |
| | | @Override |
| | | public VehicleInfo selectVehicleInfoById(Long vehicleId) { |
| | | return vehicleInfoMapper.selectVehicleInfoById(vehicleId); |
| | | } |
| | | |
| | | /** |
| | | * 查询车辆信息列表 |
| | | */ |
| | | @Override |
| | | public List<VehicleInfo> selectVehicleInfoList(VehicleInfo vehicleInfo) { |
| | | return vehicleInfoMapper.selectVehicleInfoList(vehicleInfo); |
| | | } |
| | | |
| | | /** |
| | | * 新增车辆信息 |
| | | */ |
| | | @Override |
| | | public int insertVehicleInfo(VehicleInfo vehicleInfo) { |
| | | return vehicleInfoMapper.insertVehicleInfo(vehicleInfo); |
| | | } |
| | | |
| | | /** |
| | | * 修改车辆信息 |
| | | */ |
| | | @Override |
| | | public int updateVehicleInfo(VehicleInfo vehicleInfo) { |
| | | return vehicleInfoMapper.updateVehicleInfo(vehicleInfo); |
| | | } |
| | | |
| | | /** |
| | | * 批量删除车辆信息 |
| | | */ |
| | | @Override |
| | | public int deleteVehicleInfoByIds(Long[] vehicleIds) { |
| | | return vehicleInfoMapper.deleteVehicleInfoByIds(vehicleIds); |
| | | } |
| | | |
| | | /** |
| | | * 删除车辆信息信息 |
| | | */ |
| | | @Override |
| | | public int deleteVehicleInfoById(Long vehicleId) { |
| | | return vehicleInfoMapper.deleteVehicleInfoById(vehicleId); |
| | | } |
| | | } |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.system.mapper.GpsCollectLogMapper"> |
| | | |
| | | <resultMap type="GpsCollectLog" id="GpsCollectLogResult"> |
| | | <result property="logId" column="log_id" /> |
| | | <result property="vehicleId" column="vehicle_id" /> |
| | | <result property="vehicleNo" column="vehicle_no" /> |
| | | <result property="collectType" column="collect_type" /> |
| | | <result property="collectStatus" column="collect_status" /> |
| | | <result property="errorMsg" column="error_msg" /> |
| | | <result property="collectTime" column="collect_time" /> |
| | | <result property="createTime" column="create_time" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectGpsCollectLogVo"> |
| | | select l.log_id, l.vehicle_id, v.vehicle_no, l.collect_type, l.collect_status, l.error_msg, l.collect_time, l.create_time |
| | | from tb_gps_collect_log l |
| | | left join tb_vehicle_info v on l.vehicle_id = v.vehicle_id |
| | | </sql> |
| | | |
| | | <select id="selectGpsCollectLogList" parameterType="GpsCollectLog" resultMap="GpsCollectLogResult"> |
| | | <include refid="selectGpsCollectLogVo"/> |
| | | <where> |
| | | <if test="vehicleId != null "> and l.vehicle_id = #{vehicleId}</if> |
| | | <if test="vehicleNo != null and vehicleNo != ''"> and v.vehicle_no like concat('%', #{vehicleNo}, '%')</if> |
| | | <if test="collectType != null and collectType != ''"> and l.collect_type = #{collectType}</if> |
| | | <if test="collectStatus != null and collectStatus != ''"> and l.collect_status = #{collectStatus}</if> |
| | | <if test="errorMsg != null and errorMsg != ''"> and l.error_msg like concat('%', #{errorMsg}, '%')</if> |
| | | <if test="collectTime != null and collectTime != ''"> and l.collect_time = #{collectTime}</if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectGpsCollectLogById" parameterType="Long" resultMap="GpsCollectLogResult"> |
| | | <include refid="selectGpsCollectLogVo"/> |
| | | where log_id = #{logId} |
| | | </select> |
| | | |
| | | <insert id="insertGpsCollectLog" parameterType="GpsCollectLog" useGeneratedKeys="true" keyProperty="logId"> |
| | | insert into tb_gps_collect_log |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="vehicleId != null">vehicle_id,</if> |
| | | <if test="collectType != null">collect_type,</if> |
| | | <if test="collectStatus != null">collect_status,</if> |
| | | <if test="errorMsg != null">error_msg,</if> |
| | | <if test="collectTime != null">collect_time,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="vehicleId != null">#{vehicleId},</if> |
| | | <if test="collectType != null">#{collectType},</if> |
| | | <if test="collectStatus != null">#{collectStatus},</if> |
| | | <if test="errorMsg != null">#{errorMsg},</if> |
| | | <if test="collectTime != null">#{collectTime},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <select id="getVehicleIdByNo" parameterType="String" resultType="Long"> |
| | | select vehicle_id from tb_vehicle_info where vehicle_no = #{vehicleNo} |
| | | </select> |
| | | |
| | | <update id="updateGpsCollectLog" parameterType="GpsCollectLog"> |
| | | update tb_gps_collect_log |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="vehicleId != null">vehicle_id = #{vehicleId},</if> |
| | | <if test="collectType != null">collect_type = #{collectType},</if> |
| | | <if test="collectStatus != null">collect_status = #{collectStatus},</if> |
| | | <if test="errorMsg != null">error_msg = #{errorMsg},</if> |
| | | <if test="collectTime != null">collect_time = #{collectTime},</if> |
| | | <if test="createTime != null">create_time = #{createTime},</if> |
| | | </trim> |
| | | where log_id = #{logId} |
| | | </update> |
| | | |
| | | <delete id="deleteGpsCollectLogById" parameterType="Long"> |
| | | delete from tb_gps_collect_log where log_id = #{logId} |
| | | </delete> |
| | | |
| | | <delete id="deleteGpsCollectLogByIds" parameterType="String"> |
| | | delete from tb_gps_collect_log where log_id in |
| | | <foreach item="logId" collection="array" open="(" separator="," close=")"> |
| | | #{logId} |
| | | </foreach> |
| | | </delete> |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.system.mapper.VehicleGpsMapper"> |
| | | |
| | | <resultMap type="VehicleGps" id="VehicleGpsResult"> |
| | | <result property="gpsId" column="gps_id" /> |
| | | <result property="vehicleId" column="vehicle_id" /> |
| | | <result property="vehicleNo" column="vehicle_no" /> |
| | | <result property="longitude" column="longitude" /> |
| | | <result property="latitude" column="latitude" /> |
| | | <result property="altitude" column="altitude" /> |
| | | <result property="speed" column="speed" /> |
| | | <result property="direction" column="direction" /> |
| | | <result property="collectTime" column="collect_time" /> |
| | | <result property="createTime" column="create_time" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectVehicleGpsVo"> |
| | | select g.gps_id, g.vehicle_id, v.vehicle_no, g.longitude, g.latitude, g.altitude, g.speed, g.direction, g.collect_time, g.create_time |
| | | from tb_vehicle_gps g |
| | | left join tb_vehicle_info v on g.vehicle_id = v.vehicle_id |
| | | </sql> |
| | | |
| | | <select id="selectVehicleGpsList" parameterType="VehicleGps" resultMap="VehicleGpsResult"> |
| | | <include refid="selectVehicleGpsVo"/> |
| | | <where> |
| | | <if test="vehicleId != null "> and g.vehicle_id = #{vehicleId}</if> |
| | | <if test="vehicleNo != null and vehicleNo != ''"> and v.vehicle_no like concat('%', #{vehicleNo}, '%')</if> |
| | | <if test="longitude != null "> and g.longitude = #{longitude}</if> |
| | | <if test="latitude != null "> and g.latitude = #{latitude}</if> |
| | | <if test="altitude != null "> and g.altitude = #{altitude}</if> |
| | | <if test="speed != null "> and g.speed = #{speed}</if> |
| | | <if test="direction != null "> and g.direction = #{direction}</if> |
| | | <if test="collectTime != null and collectTime != ''"> and g.collect_time = #{collectTime}</if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectVehicleGpsById" parameterType="Long" resultMap="VehicleGpsResult"> |
| | | <include refid="selectVehicleGpsVo"/> |
| | | where gps_id = #{gpsId} |
| | | </select> |
| | | |
| | | <insert id="insertVehicleGps" parameterType="VehicleGps" useGeneratedKeys="true" keyProperty="gpsId"> |
| | | insert into tb_vehicle_gps |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="vehicleId != null">vehicle_id,</if> |
| | | <if test="longitude != null">longitude,</if> |
| | | <if test="latitude != null">latitude,</if> |
| | | <if test="altitude != null">altitude,</if> |
| | | <if test="speed != null">speed,</if> |
| | | <if test="direction != null">direction,</if> |
| | | <if test="collectTime != null">collect_time,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="vehicleId != null">#{vehicleId},</if> |
| | | <if test="longitude != null">#{longitude},</if> |
| | | <if test="latitude != null">#{latitude},</if> |
| | | <if test="altitude != null">#{altitude},</if> |
| | | <if test="speed != null">#{speed},</if> |
| | | <if test="direction != null">#{direction},</if> |
| | | <if test="collectTime != null">#{collectTime},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateVehicleGps" parameterType="VehicleGps"> |
| | | update tb_vehicle_gps |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="vehicleId != null">vehicle_id = #{vehicleId},</if> |
| | | <if test="longitude != null">longitude = #{longitude},</if> |
| | | <if test="latitude != null">latitude = #{latitude},</if> |
| | | <if test="altitude != null">altitude = #{altitude},</if> |
| | | <if test="speed != null">speed = #{speed},</if> |
| | | <if test="direction != null">direction = #{direction},</if> |
| | | <if test="collectTime != null">collect_time = #{collectTime},</if> |
| | | <if test="createTime != null">create_time = #{createTime},</if> |
| | | </trim> |
| | | where gps_id = #{gpsId} |
| | | </update> |
| | | |
| | | <delete id="deleteVehicleGpsById" parameterType="Long"> |
| | | delete from tb_vehicle_gps where gps_id = #{gpsId} |
| | | </delete> |
| | | |
| | | <delete id="deleteVehicleGpsByIds" parameterType="String"> |
| | | delete from tb_vehicle_gps where gps_id in |
| | | <foreach item="gpsId" collection="array" open="(" separator="," close=")"> |
| | | #{gpsId} |
| | | </foreach> |
| | | </delete> |
| | | |
| | | <select id="getVehicleIdByNo" parameterType="String" resultType="Long"> |
| | | select vehicle_id from tb_vehicle_info where vehicle_no = #{vehicleNo} |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.system.mapper.VehicleInfoMapper"> |
| | | |
| | | <resultMap type="VehicleInfo" id="VehicleInfoResult"> |
| | | <result property="vehicleId" column="vehicle_id" /> |
| | | <result property="vehicleNo" column="vehicle_no" /> |
| | | <result property="vehicleType" column="vehicle_type" /> |
| | | <result property="vehicleBrand" column="vehicle_brand" /> |
| | | <result property="vehicleModel" column="vehicle_model" /> |
| | | <result property="status" column="status" /> |
| | | <result property="createBy" column="create_by" /> |
| | | <result property="createTime" column="create_time" /> |
| | | <result property="updateBy" column="update_by" /> |
| | | <result property="updateTime" column="update_time" /> |
| | | <result property="remark" column="remark" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectVehicleInfoVo"> |
| | | select vehicle_id, vehicle_no, vehicle_type, vehicle_brand, vehicle_model, status, create_by, create_time, update_by, update_time, remark from tb_vehicle_info |
| | | </sql> |
| | | |
| | | <select id="selectVehicleInfoList" parameterType="VehicleInfo" resultMap="VehicleInfoResult"> |
| | | <include refid="selectVehicleInfoVo"/> |
| | | <where> |
| | | <if test="vehicleNo != null and vehicleNo != ''"> and vehicle_no like concat('%', #{vehicleNo}, '%')</if> |
| | | <if test="vehicleType != null and vehicleType != ''"> and vehicle_type = #{vehicleType}</if> |
| | | <if test="vehicleBrand != null and vehicleBrand != ''"> and vehicle_brand = #{vehicleBrand}</if> |
| | | <if test="vehicleModel != null and vehicleModel != ''"> and vehicle_model = #{vehicleModel}</if> |
| | | <if test="status != null and status != ''"> and status = #{status}</if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectVehicleInfoById" parameterType="Long" resultMap="VehicleInfoResult"> |
| | | <include refid="selectVehicleInfoVo"/> |
| | | where vehicle_id = #{vehicleId} |
| | | </select> |
| | | |
| | | <insert id="insertVehicleInfo" parameterType="VehicleInfo" useGeneratedKeys="true" keyProperty="vehicleId"> |
| | | insert into tb_vehicle_info |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="vehicleNo != null">vehicle_no,</if> |
| | | <if test="vehicleType != null">vehicle_type,</if> |
| | | <if test="vehicleBrand != null">vehicle_brand,</if> |
| | | <if test="vehicleModel != null">vehicle_model,</if> |
| | | <if test="status != null">status,</if> |
| | | <if test="createBy != null">create_by,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | <if test="updateBy != null">update_by,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | | <if test="remark != null">remark,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="vehicleNo != null">#{vehicleNo},</if> |
| | | <if test="vehicleType != null">#{vehicleType},</if> |
| | | <if test="vehicleBrand != null">#{vehicleBrand},</if> |
| | | <if test="vehicleModel != null">#{vehicleModel},</if> |
| | | <if test="status != null">#{status},</if> |
| | | <if test="createBy != null">#{createBy},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | <if test="updateBy != null">#{updateBy},</if> |
| | | <if test="updateTime != null">#{updateTime},</if> |
| | | <if test="remark != null">#{remark},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateVehicleInfo" parameterType="VehicleInfo"> |
| | | update tb_vehicle_info |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="vehicleNo != null">vehicle_no = #{vehicleNo},</if> |
| | | <if test="vehicleType != null">vehicle_type = #{vehicleType},</if> |
| | | <if test="vehicleBrand != null">vehicle_brand = #{vehicleBrand},</if> |
| | | <if test="vehicleModel != null">vehicle_model = #{vehicleModel},</if> |
| | | <if test="status != null">status = #{status},</if> |
| | | <if test="createBy != null">create_by = #{createBy},</if> |
| | | <if test="createTime != null">create_time = #{createTime},</if> |
| | | <if test="updateBy != null">update_by = #{updateBy},</if> |
| | | <if test="updateTime != null">update_time = #{updateTime},</if> |
| | | <if test="remark != null">remark = #{remark},</if> |
| | | </trim> |
| | | where vehicle_id = #{vehicleId} |
| | | </update> |
| | | |
| | | <delete id="deleteVehicleInfoById" parameterType="Long"> |
| | | delete from tb_vehicle_info where vehicle_id = #{vehicleId} |
| | | </delete> |
| | | |
| | | <delete id="deleteVehicleInfoByIds" parameterType="String"> |
| | | delete from tb_vehicle_info where vehicle_id in |
| | | <foreach item="vehicleId" collection="array" open="(" separator="," close=")"> |
| | | #{vehicleId} |
| | | </foreach> |
| | | </delete> |
| | | </mapper> |
New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // 查询GPS坐标列表 |
| | | export function listGps(query) { |
| | | return request({ |
| | | url: '/system/gps/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 查询GPS坐标详细 |
| | | export function getGps(gpsId) { |
| | | return request({ |
| | | url: '/system/gps/' + gpsId, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // 新增GPS坐标 |
| | | export function addGps(data) { |
| | | return request({ |
| | | url: '/system/gps', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 修改GPS坐标 |
| | | export function updateGps(data) { |
| | | return request({ |
| | | url: '/system/gps', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 删除GPS坐标 |
| | | export function delGps(gpsId) { |
| | | return request({ |
| | | url: '/system/gps/' + gpsId, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | // 导出GPS坐标 |
| | | export function exportGps(query) { |
| | | return request({ |
| | | url: '/system/gps/export', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // 查询GPS采集日志列表 |
| | | export function listGpsLog(query) { |
| | | return request({ |
| | | url: '/system/gpslog/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 查询GPS采集日志详细 |
| | | export function getGpsLog(logId) { |
| | | return request({ |
| | | url: '/system/gpslog/' + logId, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // 新增GPS采集日志 |
| | | export function addGpsLog(data) { |
| | | return request({ |
| | | url: '/system/gpslog', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 修改GPS采集日志 |
| | | export function updateGpsLog(data) { |
| | | return request({ |
| | | url: '/system/gpslog', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 删除GPS采集日志 |
| | | export function delGpsLog(logId) { |
| | | return request({ |
| | | url: '/system/gpslog/' + logId, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | // 导出GPS采集日志 |
| | | export function exportGpsLog(query) { |
| | | return request({ |
| | | url: '/system/gpslog/export', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // 查询车辆信息列表 |
| | | export function listVehicle(query) { |
| | | return request({ |
| | | url: '/system/vehicle/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 查询车辆信息详细 |
| | | export function getVehicle(vehicleId) { |
| | | return request({ |
| | | url: '/system/vehicle/' + vehicleId, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // 新增车辆信息 |
| | | export function addVehicle(data) { |
| | | return request({ |
| | | url: '/system/vehicle', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 修改车辆信息 |
| | | export function updateVehicle(data) { |
| | | return request({ |
| | | url: '/system/vehicle', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 删除车辆信息 |
| | | export function delVehicle(vehicleId) { |
| | | return request({ |
| | | url: '/system/vehicle/' + vehicleId, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | // 导出车辆信息 |
| | | export function exportVehicle(query) { |
| | | return request({ |
| | | url: '/system/vehicle/export', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="车牌号" prop="vehicleNo"> |
| | | <el-select v-model="queryParams.vehicleNo" placeholder="请选择车牌号" clearable size="small"> |
| | | <el-option |
| | | v-for="item in vehicleOptions" |
| | | :key="item.vehicleId" |
| | | :label="item.vehicleNo" |
| | | :value="item.vehicleNo" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="采集时间" prop="collectTime"> |
| | | <el-date-picker |
| | | v-model="queryParams.collectTime" |
| | | type="datetime" |
| | | placeholder="选择采集时间" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:gps:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['system:gps:edit']" |
| | | >修改</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['system:gps:remove']" |
| | | >删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:gps:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="gpsList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="GPS记录ID" align="center" prop="gpsId" /> |
| | | <el-table-column label="车牌号" align="center" prop="vehicleNo" /> |
| | | <el-table-column label="经度" align="center" prop="longitude" /> |
| | | <el-table-column label="纬度" align="center" prop="latitude" /> |
| | | <el-table-column label="海拔" align="center" prop="altitude" /> |
| | | <el-table-column label="速度" align="center" prop="speed" /> |
| | | <el-table-column label="方向" align="center" prop="direction" /> |
| | | <el-table-column label="采集时间" align="center" prop="collectTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.collectTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:gps:edit']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:gps:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <!-- 添加或修改车辆GPS坐标对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="车牌号" prop="vehicleNo"> |
| | | <el-select v-model="form.vehicleNo" placeholder="请选择车牌号" clearable> |
| | | <el-option |
| | | v-for="item in vehicleOptions" |
| | | :key="item.vehicleId" |
| | | :label="item.vehicleNo" |
| | | :value="item.vehicleNo" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="经度" prop="longitude"> |
| | | <el-input v-model="form.longitude" placeholder="请输入经度" /> |
| | | </el-form-item> |
| | | <el-form-item label="纬度" prop="latitude"> |
| | | <el-input v-model="form.latitude" placeholder="请输入纬度" /> |
| | | </el-form-item> |
| | | <el-form-item label="海拔" prop="altitude"> |
| | | <el-input v-model="form.altitude" placeholder="请输入海拔" /> |
| | | </el-form-item> |
| | | <el-form-item label="速度" prop="speed"> |
| | | <el-input v-model="form.speed" placeholder="请输入速度" /> |
| | | </el-form-item> |
| | | <el-form-item label="方向" prop="direction"> |
| | | <el-input v-model="form.direction" placeholder="请输入方向" /> |
| | | </el-form-item> |
| | | <el-form-item label="采集时间" prop="collectTime"> |
| | | <el-date-picker |
| | | v-model="form.collectTime" |
| | | type="datetime" |
| | | placeholder="选择采集时间" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listGps, getGps, delGps, addGps, updateGps } from "@/api/system/gps"; |
| | | import { listVehicle } from "@/api/system/vehicle"; |
| | | |
| | | export default { |
| | | name: "Gps", |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 车辆列表 |
| | | vehicleOptions: [], |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 车辆GPS坐标表格数据 |
| | | gpsList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | vehicleNo: null, |
| | | longitude: null, |
| | | latitude: null, |
| | | altitude: null, |
| | | speed: null, |
| | | direction: null, |
| | | collectTime: null |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | vehicleNo: [ |
| | | { required: true, message: "车牌号不能为空", trigger: "blur" } |
| | | ], |
| | | longitude: [ |
| | | { required: true, message: "经度不能为空", trigger: "blur" } |
| | | ], |
| | | latitude: [ |
| | | { required: true, message: "纬度不能为空", trigger: "blur" } |
| | | ], |
| | | collectTime: [ |
| | | { required: true, message: "采集时间不能为空", trigger: "blur" } |
| | | ] |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | this.getVehicleList(); |
| | | }, |
| | | methods: { |
| | | /** 获取车辆列表 */ |
| | | getVehicleList() { |
| | | listVehicle().then(response => { |
| | | this.vehicleOptions = response.rows; |
| | | }); |
| | | }, |
| | | /** 查询车辆GPS坐标列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listGps(this.queryParams).then(response => { |
| | | this.gpsList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | gpsId: null, |
| | | vehicleNo: null, |
| | | longitude: null, |
| | | latitude: null, |
| | | altitude: null, |
| | | speed: null, |
| | | direction: null, |
| | | collectTime: null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.gpsId) |
| | | this.single = selection.length!==1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加车辆GPS坐标"; |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const gpsId = row.gpsId || this.ids |
| | | getGps(gpsId).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "修改车辆GPS坐标"; |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.gpsId != null) { |
| | | updateGps(this.form).then(response => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addGps(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const gpsIds = row.gpsId || this.ids; |
| | | this.$modal.confirm('是否确认删除车辆GPS坐标编号为"' + gpsIds + '"的数据项?').then(function() { |
| | | return delGps(gpsIds); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download('system/gps/export', { |
| | | ...this.queryParams |
| | | }, `gps_${new Date().getTime()}.xlsx`) |
| | | } |
| | | } |
| | | }; |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="车牌号" prop="vehicleNo"> |
| | | <el-input |
| | | v-model="queryParams.vehicleNo" |
| | | placeholder="请输入车牌号" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="采集类型" prop="collectType"> |
| | | <el-select v-model="queryParams.collectType" placeholder="请选择采集类型" clearable size="small"> |
| | | <el-option |
| | | v-for="dict in dict.type.sys_collect_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="采集状态" prop="collectStatus"> |
| | | <el-select v-model="queryParams.collectStatus" placeholder="请选择采集状态" clearable size="small"> |
| | | <el-option |
| | | v-for="dict in dict.type.sys_collect_status" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="采集时间" prop="collectTime"> |
| | | <el-date-picker |
| | | v-model="queryParams.collectTime" |
| | | type="datetime" |
| | | placeholder="选择采集时间" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:gpslog:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['system:gpslog:edit']" |
| | | >修改</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['system:gpslog:remove']" |
| | | >删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:gpslog:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="gpsLogList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="日志ID" align="center" prop="logId" /> |
| | | <el-table-column label="车牌号" align="center" prop="vehicleNo" /> |
| | | <el-table-column label="采集类型" align="center" prop="collectType"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_collect_type" :value="scope.row.collectType"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="采集状态" align="center" prop="collectStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_collect_status" :value="scope.row.collectStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="错误信息" align="center" prop="errorMsg" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="采集时间" align="center" prop="collectTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.collectTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:gpslog:edit']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:gpslog:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <!-- 添加或修改GPS采集日志对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="车牌号" prop="vehicleNo"> |
| | | <el-select v-model="form.vehicleNo" placeholder="请选择车牌号" clearable> |
| | | <el-option |
| | | v-for="item in vehicleOptions" |
| | | :key="item.vehicleId" |
| | | :label="item.vehicleNo" |
| | | :value="item.vehicleNo" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="采集类型" prop="collectType"> |
| | | <el-radio-group v-model="form.collectType"> |
| | | <el-radio |
| | | v-for="dict in dict.type.sys_collect_type" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="采集状态" prop="collectStatus"> |
| | | <el-radio-group v-model="form.collectStatus"> |
| | | <el-radio |
| | | v-for="dict in dict.type.sys_collect_status" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="错误信息" prop="errorMsg"> |
| | | <el-input v-model="form.errorMsg" type="textarea" placeholder="请输入错误信息" /> |
| | | </el-form-item> |
| | | <el-form-item label="采集时间" prop="collectTime"> |
| | | <el-date-picker |
| | | v-model="form.collectTime" |
| | | type="datetime" |
| | | placeholder="选择采集时间" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listGpsLog, getGpsLog, delGpsLog, addGpsLog, updateGpsLog } from "@/api/system/gpslog"; |
| | | import { listVehicle } from "@/api/system/vehicle"; |
| | | |
| | | export default { |
| | | name: "GpsLog", |
| | | dicts: ['sys_collect_type', 'sys_collect_status'], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 车辆列表 |
| | | vehicleOptions: [], |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // GPS采集日志表格数据 |
| | | gpsLogList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | vehicleNo: null, |
| | | collectType: null, |
| | | collectStatus: null, |
| | | errorMsg: null, |
| | | collectTime: null |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | vehicleNo: [ |
| | | { required: true, message: "车牌号不能为空", trigger: "blur" } |
| | | ], |
| | | collectType: [ |
| | | { required: true, message: "采集类型不能为空", trigger: "change" } |
| | | ], |
| | | collectStatus: [ |
| | | { required: true, message: "采集状态不能为空", trigger: "change" } |
| | | ], |
| | | collectTime: [ |
| | | { required: true, message: "采集时间不能为空", trigger: "blur" } |
| | | ] |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | this.getVehicleList(); |
| | | }, |
| | | methods: { |
| | | /** 获取车辆列表 */ |
| | | getVehicleList() { |
| | | listVehicle().then(response => { |
| | | this.vehicleOptions = response.rows; |
| | | }); |
| | | }, |
| | | /** 查询GPS采集日志列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listGpsLog(this.queryParams).then(response => { |
| | | this.gpsLogList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | logId: null, |
| | | vehicleNo: null, |
| | | collectType: null, |
| | | collectStatus: null, |
| | | errorMsg: null, |
| | | collectTime: null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.logId) |
| | | this.single = selection.length!==1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加GPS采集日志"; |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const logId = row.logId || this.ids |
| | | getGpsLog(logId).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "修改GPS采集日志"; |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.logId != null) { |
| | | updateGpsLog(this.form).then(response => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addGpsLog(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const logIds = row.logId || this.ids; |
| | | this.$modal.confirm('是否确认删除GPS采集日志编号为"' + logIds + '"的数据项?').then(function() { |
| | | return delGpsLog(logIds); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download('system/gpslog/export', { |
| | | ...this.queryParams |
| | | }, `gpslog_${new Date().getTime()}.xlsx`) |
| | | } |
| | | } |
| | | }; |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="车牌号" prop="vehicleNo"> |
| | | <el-input |
| | | v-model="queryParams.vehicleNo" |
| | | placeholder="请输入车牌号" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="车辆类型" prop="vehicleType"> |
| | | <el-input |
| | | v-model="queryParams.vehicleType" |
| | | placeholder="请输入车辆类型" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"> |
| | | <el-option |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="平台标识" prop="platformCode"> |
| | | <el-select v-model="queryParams.platformCode" placeholder="请选择平台" clearable size="small"> |
| | | <el-option label="A平台" value="A" /> |
| | | <el-option label="B平台" value="B" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:vehicle:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['system:vehicle:edit']" |
| | | >修改</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['system:vehicle:remove']" |
| | | >删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['system:vehicle:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="vehicleList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="车辆ID" align="center" prop="vehicleId" /> |
| | | <el-table-column label="车牌号" align="center" prop="vehicleNo" /> |
| | | <el-table-column label="车辆类型" align="center" prop="vehicleType" /> |
| | | <el-table-column label="车辆品牌" align="center" prop="vehicleBrand" /> |
| | | <el-table-column label="车辆型号" align="center" prop="vehicleModel" /> |
| | | <el-table-column label="平台标识" align="center" prop="platformCode"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_platform" :value="scope.row.platformCode"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center" prop="status"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建时间" align="center" prop="createTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:vehicle:edit']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:vehicle:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <!-- 添加或修改车辆信息对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="车牌号" prop="vehicleNo"> |
| | | <el-input v-model="form.vehicleNo" placeholder="请输入车牌号" /> |
| | | </el-form-item> |
| | | <el-form-item label="车辆类型" prop="vehicleType"> |
| | | <el-input v-model="form.vehicleType" placeholder="请输入车辆类型" /> |
| | | </el-form-item> |
| | | <el-form-item label="车辆品牌" prop="vehicleBrand"> |
| | | <el-input v-model="form.vehicleBrand" placeholder="请输入车辆品牌" /> |
| | | </el-form-item> |
| | | <el-form-item label="车辆型号" prop="vehicleModel"> |
| | | <el-input v-model="form.vehicleModel" placeholder="请输入车辆型号" /> |
| | | </el-form-item> |
| | | <el-form-item label="平台标识" prop="platformCode"> |
| | | <el-select v-model="form.platformCode" placeholder="请选择平台"> |
| | | <el-option label="A平台" value="A" /> |
| | | <el-option label="B平台" value="B" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-radio-group v-model="form.status"> |
| | | <el-radio |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listVehicle, getVehicle, delVehicle, addVehicle, updateVehicle } from "@/api/system/vehicle"; |
| | | |
| | | export default { |
| | | name: "Vehicle", |
| | | dicts: ['sys_normal_disable', 'sys_platform'], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 车辆信息表格数据 |
| | | vehicleList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | vehicleNo: null, |
| | | vehicleType: null, |
| | | vehicleBrand: null, |
| | | vehicleModel: null, |
| | | status: null, |
| | | platformCode: null |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | vehicleNo: [ |
| | | { required: true, message: "车牌号不能为空", trigger: "blur" } |
| | | ], |
| | | status: [ |
| | | { required: true, message: "状态不能为空", trigger: "change" } |
| | | ] |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | /** 查询车辆信息列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listVehicle(this.queryParams).then(response => { |
| | | this.vehicleList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | vehicleId: null, |
| | | vehicleNo: null, |
| | | vehicleType: null, |
| | | vehicleBrand: null, |
| | | vehicleModel: null, |
| | | status: "0", |
| | | remark: null, |
| | | platformCode: null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.vehicleId) |
| | | this.single = selection.length!==1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加车辆信息"; |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const vehicleId = row.vehicleId || this.ids |
| | | getVehicle(vehicleId).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "修改车辆信息"; |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.vehicleId != null) { |
| | | updateVehicle(this.form).then(response => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addVehicle(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const vehicleIds = row.vehicleId || this.ids; |
| | | this.$modal.confirm('是否确认删除车辆信息编号为"' + vehicleIds + '"的数据项?').then(function() { |
| | | return delVehicle(vehicleIds); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download('system/vehicle/export', { |
| | | ...this.queryParams |
| | | }, `vehicle_${new Date().getTime()}.xlsx`) |
| | | } |
| | | } |
| | | }; |
| | | </script> |
New file |
| | |
| | | -- 采集类型字典数据 |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 1, '自动采集', '1', 'sys_collect_type', '', 'primary', 'N', '0', 'admin', SYSDATE(), '', NULL, '自动采集'); |
| | | |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 2, '手动采集', '2', 'sys_collect_type', '', 'success', 'N', '0', 'admin', SYSDATE(), '', NULL, '手动采集'); |
| | | |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 3, '定时采集', '3', 'sys_collect_type', '', 'warning', 'N', '0', 'admin', SYSDATE(), '', NULL, '定时采集'); |
| | | |
| | | -- 采集状态字典数据 |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 1, '采集成功', '1', 'sys_collect_status', '', 'success', 'N', '0', 'admin', SYSDATE(), '', NULL, '采集成功'); |
| | | |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 2, '采集失败', '2', 'sys_collect_status', '', 'danger', 'N', '0', 'admin', SYSDATE(), '', NULL, '采集失败'); |
| | | |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 3, '采集中', '3', 'sys_collect_status', '', 'primary', 'N', '0', 'admin', SYSDATE(), '', NULL, '采集中'); |
| | | |
| | | -- 平台字典数据 |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 1, 'A平台', 'A', 'sys_platform', '', 'primary', 'N', '0', 'admin', SYSDATE(), '', NULL, 'A平台'); |
| | | |
| | | INSERT INTO sys_dict_data( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( 2, 'B平台', 'B', 'sys_platform', '', 'success', 'N', '0', 'admin', SYSDATE(), '', NULL, 'B平台'); |
New file |
| | |
| | | -- 采集类型字典类型 |
| | | INSERT INTO sys_dict_type( dict_name, dict_type, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( '采集类型', 'sys_collect_type', '0', 'admin', SYSDATE(), '', NULL, '采集类型列表'); |
| | | |
| | | -- 采集状态字典类型 |
| | | INSERT INTO sys_dict_type( dict_name, dict_type, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( '采集状态', 'sys_collect_status', '0', 'admin', SYSDATE(), '', NULL, '采集状态列表'); |
| | | |
| | | -- 平台字典类型 |
| | | INSERT INTO sys_dict_type( dict_name, dict_type, STATUS, create_by, create_time, update_by, update_time, remark) |
| | | VALUES( '平台标识', 'sys_platform', '0', 'admin', SYSDATE(), '', NULL, '平台标识列表'); |
| | | |
| | | |
New file |
| | |
| | | -- 菜单 SQL |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('车辆信息', '3', '1', 'vehicle', 'system/vehicle/index', 1, 0, 'C', '0', '0', 'system:vehicle:list', 'car', 'admin', sysdate(), '', null, '车辆信息菜单'); |
| | | |
| | | -- 按钮父菜单ID |
| | | SELECT @parentId := LAST_INSERT_ID(); |
| | | |
| | | -- 车辆信息按钮 |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('车辆信息查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'system:vehicle:query', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('车辆信息新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'system:vehicle:add', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('车辆信息修改', @parentId, '3', '#', '', 1, 0, 'F', 'F', '0', 'system:vehicle:edit', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('车辆信息删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'system:vehicle:remove', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('车辆信息导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'system:vehicle:export', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | -- GPS坐标菜单 |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS坐标', '3', '2', 'gps', 'system/gps/index', 1, 0, 'C', '0', '0', 'system:gps:list', 'location', 'admin', sysdate(), '', null, 'GPS坐标菜单'); |
| | | |
| | | -- 按钮父菜单ID |
| | | SELECT @parentId := LAST_INSERT_ID(); |
| | | |
| | | -- GPS坐标按钮 |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS坐标查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'system:gps:query', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS坐标新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'system:gps:add', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS坐标修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'system:gps:edit', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS坐标删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'system:gps:remove', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS坐标导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'system:gps:export', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | -- GPS采集日志菜单 |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS采集日志', '3', '3', 'gpslog', 'system/gpslog/index', 1, 0, 'C', '0', '0', 'system:gpslog:list', 'documentation', 'admin', sysdate(), '', null, 'GPS采集日志菜单'); |
| | | |
| | | -- 按钮父菜单ID |
| | | SELECT @parentId := LAST_INSERT_ID(); |
| | | |
| | | -- GPS采集日志按钮 |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS采集日志查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'system:gpslog:query', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS采集日志新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'system:gpslog:add', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS采集日志修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'system:gpslog:edit', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS采集日志删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'system:gpslog:remove', '#', 'admin', sysdate(), '', null, ''); |
| | | |
| | | insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) |
| | | values('GPS采集日志导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'system:gpslog:export', '#', 'admin', sysdate(), '', null, ''); |
New file |
| | |
| | | -- 车辆信息表 |
| | | CREATE TABLE `tb_vehicle_info` ( |
| | | `vehicle_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '车辆ID', |
| | | `vehicle_no` varchar(20) NOT NULL COMMENT '车牌号', |
| | | `vehicle_type` varchar(20) DEFAULT NULL COMMENT '车辆类型', |
| | | `vehicle_brand` varchar(50) DEFAULT NULL COMMENT '车辆品牌', |
| | | `vehicle_model` varchar(50) DEFAULT NULL COMMENT '车辆型号', |
| | | `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', |
| | | `create_by` varchar(64) DEFAULT '' COMMENT '创建者', |
| | | `create_time` datetime DEFAULT NULL COMMENT '创建时间', |
| | | `update_by` varchar(64) DEFAULT '' COMMENT '更新者', |
| | | `update_time` datetime DEFAULT NULL COMMENT '更新时间', |
| | | `remark` varchar(500) DEFAULT NULL COMMENT '备注', |
| | | PRIMARY KEY (`vehicle_id`), |
| | | UNIQUE KEY `vehicle_no` (`vehicle_no`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆信息表'; |
| | | |
| | | -- 车辆GPS坐标表 |
| | | CREATE TABLE `tb_vehicle_gps` ( |
| | | `gps_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'GPS记录ID', |
| | | `vehicle_id` bigint(20) NOT NULL COMMENT '车辆ID', |
| | | `longitude` decimal(10,7) NOT NULL COMMENT '经度', |
| | | `latitude` decimal(10,7) NOT NULL COMMENT '纬度', |
| | | `altitude` decimal(10,2) DEFAULT NULL COMMENT '海拔', |
| | | `speed` decimal(10,2) DEFAULT NULL COMMENT '速度(km/h)', |
| | | `direction` decimal(10,2) DEFAULT NULL COMMENT '方向(度)', |
| | | `collect_time` datetime NOT NULL COMMENT '采集时间', |
| | | `create_time` datetime DEFAULT NULL COMMENT '创建时间', |
| | | PRIMARY KEY (`gps_id`), |
| | | KEY `idx_vehicle_id` (`vehicle_id`), |
| | | KEY `idx_collect_time` (`collect_time`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆GPS坐标表'; |
| | | |
| | | -- GPS采集日志表 |
| | | CREATE TABLE `tb_gps_collect_log` ( |
| | | `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID', |
| | | `vehicle_id` bigint(20) NOT NULL COMMENT '车辆ID', |
| | | `collect_type` char(1) NOT NULL COMMENT '采集类型(1自动 2手动)', |
| | | `collect_status` char(1) NOT NULL COMMENT '采集状态(0成功 1失败)', |
| | | `error_msg` varchar(500) DEFAULT NULL COMMENT '错误信息', |
| | | `collect_time` datetime NOT NULL COMMENT '采集时间', |
| | | `create_time` datetime DEFAULT NULL COMMENT '创建时间', |
| | | PRIMARY KEY (`log_id`), |
| | | KEY `idx_vehicle_id` (`vehicle_id`), |
| | | KEY `idx_collect_time` (`collect_time`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='GPS采集日志表'; |
New file |
| | |
| | | -- 车辆信息表 |
| | | create table tb_vehicle_info ( |
| | | vehicle_id bigint(20) not null auto_increment comment '车辆ID', |
| | | platform_code varchar(50) not null comment '平台标识(A/B)', |
| | | vehicle_no varchar(50) not null comment '车牌号', |
| | | vehicle_type varchar(50) not null comment '车辆类型', |
| | | vehicle_brand varchar(50) comment '车辆品牌', |
| | | vehicle_model varchar(50) comment '车辆型号', |
| | | vehicle_color varchar(20) comment '车辆颜色', |
| | | vehicle_status char(1) default '0' comment '车辆状态(0正常 1停用)', |
| | | create_by varchar(64) default '' comment '创建者', |
| | | create_time datetime comment '创建时间', |
| | | update_by varchar(64) default '' comment '更新者', |
| | | update_time datetime comment '更新时间', |
| | | remark varchar(500) default null comment '备注', |
| | | primary key (vehicle_id) |
| | | ) engine=innodb auto_increment=100 comment = '车辆信息表'; |