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 java.util.List;
import javax.servlet.http.HttpServletResponse; 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.domain.BizDriverClock;
import com.cpxt.biz.service.IBizDriverClockService; import com.cpxt.biz.service.IBizDriverClockService;
import com.cpxt.common.constant.HttpStatus;
import org.checkerframework.checker.units.qual.A; import org.checkerframework.checker.units.qual.A;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
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.cpxt.common.annotation.Log; import com.cpxt.common.annotation.Log;
import com.cpxt.common.core.controller.BaseController; import com.cpxt.common.core.controller.BaseController;
import com.cpxt.common.core.domain.AjaxResult; 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") @GetMapping("/list")
public TableDataInfo list(BizDriverClock bizDriverClock) public TableDataInfo list(BizDriverClock bizDriverClock,
@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize)
{ {
startPage(); Page<BizDriverClock> recordPage = bizDriverClockService.selectBizDriverClockPage(bizDriverClock,pageNum,pageSize);
List<BizDriverClock> list = bizDriverClockService.selectBizDriverClockList(bizDriverClock); TableDataInfo rspData = new TableDataInfo();
return getDataTable(list); 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; 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.BizCar;
import com.cpxt.biz.domain.BizDriverState; import com.cpxt.biz.domain.BizDriverState;
import com.cpxt.biz.service.BizDriverStateService; 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.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("/biz/driver/state") @RequestMapping("/biz/driver/state")
@ -21,6 +19,27 @@ public class BizDriverStateController {
@Autowired @Autowired
private BizDriverStateService bizDriverStateService; 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 @Autowired
private StatCarMapper statCarMapper; private StatCarMapper statCarMapper;
@Autowired
private StatDriverMapper statDriverMapper;
@Autowired @Autowired
private BizCustomerWarehouseMapper bizCustomerWarehouseMapper; private BizCustomerWarehouseMapper bizCustomerWarehouseMapper;
@ -202,11 +205,11 @@ public class LargeScreenController extends BaseController {
String startTime = DateUtil.format(dateTime, DateUtils.YYYY_MM_DD); String startTime = DateUtil.format(dateTime, DateUtils.YYYY_MM_DD);
String endTime = DateUtil.format(new Date(),DateUtils.YYYY_MM_DD); String endTime = DateUtil.format(new Date(),DateUtils.YYYY_MM_DD);
List<String> keyList = statCarMapper.selectOdometerTop5CarNo(startTime,endTime); List<String> keyList = statDriverMapper.selectOdometerTop5CarNo(startTime,endTime);
List<Double> valueList = statCarMapper.selectOdometerTop5Odometer(startTime,endTime); List<Double> valueList = statDriverMapper.selectOdometerTop5Odometer(startTime,endTime);
result.put("keys",keyList); result.put("keys",keyList);
result.put("values",valueList); result.put("values",valueList);
largeScreenEntity.setDeliveryDistanceTop5(result); largeScreenEntity.setDeliveryDistanceTop5Driver(result);
return AjaxResult.success(largeScreenEntity); return AjaxResult.success(largeScreenEntity);
} }
@ -226,7 +229,7 @@ public class LargeScreenController extends BaseController {
List<Double> valueList = statCarMapper.selectOdometerTop5Odometer(startTime,endTime); List<Double> valueList = statCarMapper.selectOdometerTop5Odometer(startTime,endTime);
result.put("keys",keyList); result.put("keys",keyList);
result.put("values",valueList); result.put("values",valueList);
largeScreenEntity.setDeliveryDistanceTop5(result); largeScreenEntity.setDeliveryDistanceTop5Car(result);
return AjaxResult.success(largeScreenEntity); return AjaxResult.success(largeScreenEntity);
} }

View File

@ -93,7 +93,13 @@ public class LargeScreenEntity
/** /**
* 30top5 * 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.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cpxt.biz.domain.BizDriverState; import com.cpxt.biz.domain.BizDriverState;
import org.apache.ibatis.annotations.Mapper; 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 * @author LuoJian
@ -14,6 +19,11 @@ import org.apache.ibatis.annotations.Mapper;
public interface BizDriverStateMapper extends BaseMapper<BizDriverState> { public interface BizDriverStateMapper extends BaseMapper<BizDriverState> {
int insertBizDriverState(BizDriverState 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.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cpxt.biz.domain.BizDriverClock; import com.cpxt.biz.domain.BizDriverClock;
import com.cpxt.biz.domain.StatCar; import com.cpxt.biz.domain.StatCar;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/** /**
* Mapper * 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") @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); 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") @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); 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 ") @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 ") @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); 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.baomidou.mybatisplus.extension.service.IService;
import com.cpxt.biz.domain.BizDriverState; import com.cpxt.biz.domain.BizDriverState;
import java.util.List;
import java.util.Map;
/** /**
* @author LuoJian * @author LuoJian
* @description biz_driver_state()Service * @description biz_driver_state()Service
@ -11,4 +14,10 @@ import com.cpxt.biz.domain.BizDriverState;
public interface BizDriverStateService extends IService<BizDriverState> { public interface BizDriverStateService extends IService<BizDriverState> {
public int insertDriveDriveState(BizDriverState 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; package com.cpxt.biz.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cpxt.biz.domain.BizDriverClock; import com.cpxt.biz.domain.BizDriverClock;
import java.util.List; import java.util.List;
@ -27,6 +28,14 @@ public interface IBizDriverClockService
*/ */
public List<BizDriverClock> selectBizDriverClockList(BizDriverClock bizDriverClock); 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 * @return
*/ */
public int deleteBizDriverClockById(Long id); public int deleteBizDriverClockById(Long id);
} }

View File

@ -1,6 +1,8 @@
package com.cpxt.biz.service.impl; package com.cpxt.biz.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.BizDriver;
import com.cpxt.biz.domain.BizDriverClock; import com.cpxt.biz.domain.BizDriverClock;
import com.cpxt.biz.domain.BizOrder; import com.cpxt.biz.domain.BizOrder;
@ -55,9 +57,21 @@ public class BizDriverClockServiceImpl implements IBizDriverClockService
public List<BizDriverClock> selectBizDriverClockList(BizDriverClock bizDriverClock) public List<BizDriverClock> selectBizDriverClockList(BizDriverClock bizDriverClock)
{ {
LambdaQueryWrapper<BizDriverClock> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BizDriverClock> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotEmpty(bizDriverClock.getDriverId())){
queryWrapper.eq(BizDriverClock::getDriverId,bizDriverClock.getDriverId());
}
return bizDriverClockMapper.selectList(queryWrapper); 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/** /**
* @author LuoJian * @author LuoJian
* @description biz_driver_state()Service * @description biz_driver_state()Service
@ -23,6 +26,16 @@ public class BizDriverStateServiceImpl extends ServiceImpl<BizDriverStateMapper,
public int insertDriveDriveState(BizDriverState bizDriverState) { public int insertDriveDriveState(BizDriverState bizDriverState) {
return bizDriverStateMapper.insertBizDriverState(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> <if test="status != null">#{status},</if>
</trim> </trim>
</insert> </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> </mapper>

View File

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