luojian 2025-01-06 10:21:28 +08:00
parent 1fb39e73bf
commit 8d2b0ea864
13 changed files with 132 additions and 27 deletions

View File

@ -3,19 +3,15 @@ package com.cpxt.web.controller.biz;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cpxt.biz.domain.BizCar;
import com.cpxt.biz.domain.BizDriverClock;
import com.cpxt.biz.service.IBizDriverClockService;
import com.cpxt.common.constant.HttpStatus;
import org.checkerframework.checker.units.qual.A;
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 org.springframework.web.bind.annotation.*;
import com.cpxt.common.annotation.Log;
import com.cpxt.common.core.controller.BaseController;
import com.cpxt.common.core.domain.AjaxResult;
@ -39,13 +35,19 @@ public class BizDriverClockController extends BaseController
/**
*
*/
@PreAuthorize("@ss.hasPermi('system:clock:list')")
// @PreAuthorize("@ss.hasPermi('system:clock:list')")
@GetMapping("/list")
public TableDataInfo list(BizDriverClock bizDriverClock)
public TableDataInfo list(BizDriverClock bizDriverClock,
@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize)
{
startPage();
List<BizDriverClock> list = bizDriverClockService.selectBizDriverClockList(bizDriverClock);
return getDataTable(list);
Page<BizDriverClock> recordPage = bizDriverClockService.selectBizDriverClockPage(bizDriverClock,pageNum,pageSize);
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(recordPage.getRecords());
rspData.setTotal(recordPage.getTotal());
return rspData;
}
/**

View File

@ -1,5 +1,6 @@
package com.cpxt.web.controller.biz;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cpxt.biz.domain.BizCar;
import com.cpxt.biz.domain.BizDriverState;
import com.cpxt.biz.service.BizDriverStateService;
@ -9,10 +10,7 @@ import com.cpxt.common.enums.BusinessType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/biz/driver/state")
@ -21,6 +19,27 @@ public class BizDriverStateController {
@Autowired
private BizDriverStateService bizDriverStateService;
/**
*
*/
@GetMapping("/list")
public AjaxResult list()
{
return AjaxResult.success(bizDriverStateService.selectDriverLocation());
}
/**
*
*/
@GetMapping("/track")
public AjaxResult list(@RequestParam(required = false) String startTime,
@RequestParam(required = false) String endTime,
@RequestParam Long driverId)
{
String tableName = "track_driver_" + driverId;
return AjaxResult.success(bizDriverStateService.selectDriverTrack(startTime,endTime,tableName));
}
/**
*
*/

View File

@ -52,6 +52,9 @@ public class LargeScreenController extends BaseController {
@Autowired
private StatCarMapper statCarMapper;
@Autowired
private StatDriverMapper statDriverMapper;
@Autowired
private BizCustomerWarehouseMapper bizCustomerWarehouseMapper;
@ -202,11 +205,11 @@ public class LargeScreenController extends BaseController {
String startTime = DateUtil.format(dateTime, DateUtils.YYYY_MM_DD);
String endTime = DateUtil.format(new Date(),DateUtils.YYYY_MM_DD);
List<String> keyList = statCarMapper.selectOdometerTop5CarNo(startTime,endTime);
List<Double> valueList = statCarMapper.selectOdometerTop5Odometer(startTime,endTime);
List<String> keyList = statDriverMapper.selectOdometerTop5CarNo(startTime,endTime);
List<Double> valueList = statDriverMapper.selectOdometerTop5Odometer(startTime,endTime);
result.put("keys",keyList);
result.put("values",valueList);
largeScreenEntity.setDeliveryDistanceTop5(result);
largeScreenEntity.setDeliveryDistanceTop5Driver(result);
return AjaxResult.success(largeScreenEntity);
}
@ -226,7 +229,7 @@ public class LargeScreenController extends BaseController {
List<Double> valueList = statCarMapper.selectOdometerTop5Odometer(startTime,endTime);
result.put("keys",keyList);
result.put("values",valueList);
largeScreenEntity.setDeliveryDistanceTop5(result);
largeScreenEntity.setDeliveryDistanceTop5Car(result);
return AjaxResult.success(largeScreenEntity);
}

View File

@ -93,7 +93,13 @@ public class LargeScreenEntity
/**
* 30top5
*/
private Map<String,Object> deliveryDistanceTop5;
private Map<String,Object> deliveryDistanceTop5Driver;
/**
* 30top5
*/
private Map<String,Object> deliveryDistanceTop5Car;
/**
*

View File

@ -3,6 +3,11 @@ package com.cpxt.biz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cpxt.biz.domain.BizDriverState;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
* @author LuoJian
@ -14,6 +19,11 @@ import org.apache.ibatis.annotations.Mapper;
public interface BizDriverStateMapper extends BaseMapper<BizDriverState> {
int insertBizDriverState(BizDriverState bizDriverState);
Map selectDriverTrack(@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("tableName") String tableName);
@Select("SELECT * FROM biz_driver_state WHERE id in (SELECT t.id FROM (SELECT id,MAX(gps_time) FROM biz_driver_state GROUP BY driver_id) t)")
List<BizDriverState> selectDriverLocation();
}

View File

@ -6,13 +6,10 @@ import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cpxt.biz.domain.BizDriverClock;
import com.cpxt.biz.domain.StatCar;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.*;
import java.util.List;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/**
* Mapper
@ -27,7 +24,6 @@ public interface StatCarMapper extends BaseMapper<StatCar>
@Select("select t.car_no from (SELECT car_no,SUM(odometer) sumo FROM `stat_car` where stat_date >= #{startTime} and stat_date <= #{endTime} GROUP BY car_no ORDER BY sumo desc limit 5) t")
List<String> selectOdometerTop5CarNo(@Param("startTime") String startTime,@Param("endTime") String endTime);
@Select("select t.sumo from (SELECT car_no,SUM(odometer) sumo FROM `stat_car` where stat_date >= #{startTime} and stat_date <= #{endTime} GROUP BY car_no ORDER BY sumo desc limit 5) t")
List<Double> selectOdometerTop5Odometer(@Param("startTime")String startTime,@Param("endTime") String endTime);
@Insert("insert into stat_car (stat_date, car_id, car_no) select #{statDate}, id, car_no from biz_car where status = 1 ")

View File

@ -39,4 +39,10 @@ public interface StatDriverMapper extends BaseMapper<StatDriver>
@Select("select * from biz_driver_clock where driver_id = #{driverId} and ( on_time BETWEEN CURDATE() - INTERVAL 23 HOUR AND NOW() or off_time between CURDATE() and NOW() ) order by on_time asc ")
List<BizDriverClock> selectDriverClockList(Long driverId);
@Select("select t.driver_name from (SELECT driver_name,SUM(odometer) sumo FROM `stat_driver` where stat_date >= #{startTime} and stat_date <= #{endTime} GROUP BY driver_name ORDER BY sumo desc limit 5) t")
List<String> selectOdometerTop5CarNo(@Param("startTime") String startTime,@Param("endTime") String endTime);
@Select("select t.sumo from (SELECT driver_name,SUM(odometer) sumo FROM `stat_driver` where stat_date >= #{startTime} and stat_date <= #{endTime} GROUP BY driver_name ORDER BY sumo desc limit 5) t")
List<Double> selectOdometerTop5Odometer(@Param("startTime") String startTime,@Param("endTime") String endTime);
}

View File

@ -3,6 +3,9 @@ package com.cpxt.biz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cpxt.biz.domain.BizDriverState;
import java.util.List;
import java.util.Map;
/**
* @author LuoJian
* @description biz_driver_state()Service
@ -11,4 +14,10 @@ import com.cpxt.biz.domain.BizDriverState;
public interface BizDriverStateService extends IService<BizDriverState> {
public int insertDriveDriveState(BizDriverState bizDriverState);
Map selectDriverTrack(String startTime, String endTime, String tableName);
List<BizDriverState> selectDriverLocation();
}

View File

@ -1,5 +1,6 @@
package com.cpxt.biz.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cpxt.biz.domain.BizDriverClock;
import java.util.List;
@ -27,6 +28,14 @@ public interface IBizDriverClockService
*/
public List<BizDriverClock> selectBizDriverClockList(BizDriverClock bizDriverClock);
/**
*
*
* @param bizDriverClock
* @return
*/
Page<BizDriverClock> selectBizDriverClockPage(BizDriverClock bizDriverClock, int pageNum, int pageSize);
/**
*
*
@ -58,4 +67,6 @@ public interface IBizDriverClockService
* @return
*/
public int deleteBizDriverClockById(Long id);
}

View File

@ -1,6 +1,8 @@
package com.cpxt.biz.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cpxt.biz.domain.BizDriver;
import com.cpxt.biz.domain.BizDriverClock;
import com.cpxt.biz.domain.BizOrder;
@ -55,9 +57,21 @@ public class BizDriverClockServiceImpl implements IBizDriverClockService
public List<BizDriverClock> selectBizDriverClockList(BizDriverClock bizDriverClock)
{
LambdaQueryWrapper<BizDriverClock> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotEmpty(bizDriverClock.getDriverId())){
queryWrapper.eq(BizDriverClock::getDriverId,bizDriverClock.getDriverId());
}
return bizDriverClockMapper.selectList(queryWrapper);
}
@Override
public Page<BizDriverClock> selectBizDriverClockPage(BizDriverClock bizDriverClock, int pageNum, int pageSize) {
LambdaQueryWrapper<BizDriverClock> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotEmpty(bizDriverClock.getDriverId())){
queryWrapper.eq(BizDriverClock::getDriverId,bizDriverClock.getDriverId());
}
return bizDriverClockMapper.selectPage(new Page<>(pageNum,pageSize),queryWrapper);
}
/**
*
*

View File

@ -7,6 +7,9 @@ import com.cpxt.biz.service.BizDriverStateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author LuoJian
* @description biz_driver_state()Service
@ -23,6 +26,16 @@ public class BizDriverStateServiceImpl extends ServiceImpl<BizDriverStateMapper,
public int insertDriveDriveState(BizDriverState bizDriverState) {
return bizDriverStateMapper.insertBizDriverState(bizDriverState);
}
@Override
public Map selectDriverTrack(String startTime, String endTime, String tableName) {
return bizDriverStateMapper.selectDriverTrack(startTime,endTime,tableName);
}
@Override
public List<BizDriverState> selectDriverLocation() {
return bizDriverStateMapper.selectDriverLocation();
}
}

View File

@ -66,4 +66,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null">#{status},</if>
</trim>
</insert>
<select id="selectDriverTrack" resultType="java.util.Map">
select * from ${tableName}
<where>
1=1
<if test="null != startTime and startTime != ''">
and gps_time &gt;= #{createTime}
</if>
<if test="null != endTime and endTime != ''">
and gps_time &lt;= #{endTime}
</if>
</where>
order by gps_time desc
</select>
</mapper>

View File

@ -40,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND create_by like concat('%', #{createBy}, '%')
</if>
</where>
order by update_time desc
</select>
<insert id="insertNotice" parameterType="SysNotice">