0725
This commit is contained in:
parent
4b43a98bef
commit
3a45120903
@ -26,6 +26,7 @@ import cn.iocoder.yudao.module.train.entity.Train;
|
||||
import cn.iocoder.yudao.module.train.mapper.TrainMapper;
|
||||
import cn.iocoder.yudao.module.train.service.IDriveSchoolCoachClockService;
|
||||
import cn.iocoder.yudao.module.train.service.TrainService;
|
||||
import cn.iocoder.yudao.module.train.vo.CloakAndTrainCountVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainCarCountVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainStudentCountVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainVO;
|
||||
@ -434,6 +435,18 @@ public class DataViewServiceImpl implements DataViewService {
|
||||
trainInfoMap.put("subject2UserNum", trainStudentCount.getSubject2Count());
|
||||
trainInfoMap.put("subject3UserNum", trainStudentCount.getSubject3Count());
|
||||
rtnObj.setTrainInfo(trainInfoMap);
|
||||
|
||||
/* 实时训练情况*/
|
||||
CloakAndTrainCountVO todayCarTrainSituation = coachClockService.getTodayTrainSituation();
|
||||
CloakAndTrainCountVO todayStudentTrainSituation = trainMapper.getTodayTrainSituation(null);
|
||||
Map<String, Object> todayTrainInfo = new HashMap<>();
|
||||
todayTrainInfo.put("totalStudentCount", todayStudentTrainSituation.getTotalStudentCount());
|
||||
todayTrainInfo.put("subject2StudentCount", todayStudentTrainSituation.getSubject2StudentCount());
|
||||
todayTrainInfo.put("subject3StudentCount", todayStudentTrainSituation.getSubject3StudentCount());
|
||||
todayTrainInfo.put("totalCarCount", todayCarTrainSituation.getTotalCarCount());
|
||||
todayTrainInfo.put("subject2CarCount", todayCarTrainSituation.getSubject2CarCount());
|
||||
todayTrainInfo.put("subject3CarCount", todayCarTrainSituation.getSubject3CarCount());
|
||||
rtnObj.setTodayTrainInfo(todayTrainInfo);
|
||||
/*3.考试情况*/
|
||||
List<ExamBatchItemVO> examBatchItemVOList = examBatchItemMapper.selectByCoachId(coachId, startTimeStr, endTimeStr);
|
||||
Double subject2Num = 0.0;
|
||||
|
@ -17,6 +17,8 @@ public class IndexDataVO {
|
||||
private Map<String,Object> studentInfo;
|
||||
/**训练情况*/
|
||||
private Map<String,Object> trainInfo;
|
||||
/**实时训练情况*/
|
||||
private Map<String,Object> todayTrainInfo;
|
||||
/**考试情况*/
|
||||
private Map<String,Object> examInfo;
|
||||
/**财务情况*/
|
||||
|
@ -54,4 +54,6 @@ public class DriveSchoolInsurance extends TenantBaseDO
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "保险到期时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date insuranceTime;
|
||||
|
||||
private String attachments;
|
||||
}
|
||||
|
@ -175,5 +175,21 @@ public class DriveSchoolCoachClockController {
|
||||
ExcelUtils.write(response, fileName + ".xlsx", "教练打卡记录", CoachClockExportVO.class, exportData);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当日实时训练情况统计
|
||||
*/
|
||||
@GetMapping("/getTodayTrainSituation")
|
||||
public CommonResult<CloakAndTrainCountVO> getTodayTrainSituation() {
|
||||
return success(coachClockService.getTodayTrainSituation());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取正在训练的车辆信息列表
|
||||
*/
|
||||
@GetMapping("/getTodayCarTrainSituation")
|
||||
public CommonResult<List<DriveSchoolCoachClockVO>> getTodayCarTrainSituation(DriveSchoolCoachClock driveSchoolCoachClock) {
|
||||
return success(coachClockService.getTodayCarTrainSituation(driveSchoolCoachClock));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -15,10 +15,7 @@ import cn.iocoder.yudao.module.jx.mapper.DriveSchoolCarMapper;
|
||||
import cn.iocoder.yudao.module.jx.vo.DriveSchoolCarVO;
|
||||
import cn.iocoder.yudao.module.train.entity.Train;
|
||||
import cn.iocoder.yudao.module.train.service.TrainService;
|
||||
import cn.iocoder.yudao.module.train.vo.NoClockInRemindVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainExportVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainStudentCountVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainVO;
|
||||
import cn.iocoder.yudao.module.train.vo.*;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@ -302,4 +299,23 @@ public class TrainController {
|
||||
// 导出Excel
|
||||
ExcelUtils.write(response, fileName + ".xlsx", "学员训练记录", TrainExportVO.class, exportData);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当日正在训练学员统计
|
||||
*/
|
||||
@GetMapping("getTodayTrainSituation")
|
||||
public CommonResult<CloakAndTrainCountVO> getTodayTrainSituation(Train train){
|
||||
return success(trainService.getTodayTrainSituation(train));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前正在训练的学员列表
|
||||
*/
|
||||
@GetMapping("getTodayStudentTrainSituation")
|
||||
public CommonResult<IPage<Train>> getTodayStudentTrainSituation(Train train,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize){
|
||||
Page<Train> page = new Page<>(pageNo, pageSize);
|
||||
return success(trainService.getTodayStudentTrainSituation(train,page));
|
||||
}
|
||||
}
|
||||
|
@ -46,4 +46,16 @@ public interface DriveSchoolCoachClockMapper extends BaseMapper<DriveSchoolCoach
|
||||
CloakAndTrainCountVO getTrainCarCount(@Param("entity") CloakAndTrainCountVO cloakAndTrainCountVO);
|
||||
|
||||
|
||||
/**
|
||||
* 获取当日实时训练情况
|
||||
*/
|
||||
CloakAndTrainCountVO getTodayTrainSituation();
|
||||
|
||||
|
||||
/**
|
||||
* 获取正在训练的车辆信息
|
||||
*/
|
||||
List<DriveSchoolCoachClockVO> getTodayCarTrainSituation(@Param("entity") DriveSchoolCoachClock driveSchoolCoachClock);
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,7 @@
|
||||
package cn.iocoder.yudao.module.train.mapper;
|
||||
|
||||
import cn.iocoder.yudao.module.train.entity.Train;
|
||||
import cn.iocoder.yudao.module.train.vo.NoClockInRemindVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainExportVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainStudentCountVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainVO;
|
||||
import cn.iocoder.yudao.module.train.vo.*;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -44,4 +41,13 @@ public interface TrainMapper extends BaseMapper<Train> {
|
||||
*/
|
||||
IPage<TrainExportVO> getExportList(@Param("entity") TrainExportVO entity, Page<TrainExportVO> page);
|
||||
|
||||
/**
|
||||
* 获取当日实时训练情况
|
||||
*/
|
||||
CloakAndTrainCountVO getTodayTrainSituation(@Param("entity") Train train);
|
||||
/**
|
||||
* 获取正在训练的学员信息
|
||||
*/
|
||||
IPage<Train> getTodayStudentTrainSituation(@Param("entity") Train train, Page<Train> page);
|
||||
|
||||
}
|
||||
|
@ -83,4 +83,14 @@ public interface IDriveSchoolCoachClockService extends IService<DriveSchoolCoach
|
||||
List<CoachClockExportVO> getAllCoachClockRecordList(CoachClockExportVO exportVO);
|
||||
List<CoachClockExportVO> getCoachClockListByRange(CoachClockExportVO exportVO);
|
||||
|
||||
/**
|
||||
* 获取当日实时训练情况统计
|
||||
*/
|
||||
CloakAndTrainCountVO getTodayTrainSituation();
|
||||
|
||||
/**
|
||||
* 获取正在训练的车辆信息列表
|
||||
*/
|
||||
List<DriveSchoolCoachClockVO> getTodayCarTrainSituation(DriveSchoolCoachClock driveSchoolCoachClock);
|
||||
|
||||
}
|
||||
|
@ -2,12 +2,14 @@ package cn.iocoder.yudao.module.train.service;
|
||||
|
||||
import cn.iocoder.yudao.module.course.vo.CommissionExportVO;
|
||||
import cn.iocoder.yudao.module.train.entity.Train;
|
||||
import cn.iocoder.yudao.module.train.vo.CloakAndTrainCountVO;
|
||||
import cn.iocoder.yudao.module.train.vo.NoClockInRemindVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainExportVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainVO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -111,4 +113,15 @@ public interface TrainService extends IService<Train> {
|
||||
List<TrainExportVO> getTrainList(TrainExportVO exportVO);
|
||||
List<TrainExportVO> getAllTrainList(TrainExportVO exportVO);
|
||||
List<TrainExportVO> getTrainListByRange(TrainExportVO exportVO);
|
||||
|
||||
|
||||
/**
|
||||
* 当日正在训练学员统计
|
||||
*/
|
||||
CloakAndTrainCountVO getTodayTrainSituation(Train train);
|
||||
|
||||
/**
|
||||
* 获取当前正在训练的学员信息列表
|
||||
*/
|
||||
IPage<Train> getTodayStudentTrainSituation(Train train, Page<Train> page);
|
||||
}
|
||||
|
@ -436,4 +436,21 @@ public class DriveSchoolCoachClockServiceImpl extends ServiceImpl<DriveSchoolCoa
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取当日实时训练情况
|
||||
*/
|
||||
@Override
|
||||
public CloakAndTrainCountVO getTodayTrainSituation() {
|
||||
return driveSchoolCoachClockMapper.getTodayTrainSituation();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取正在训练的车辆信息
|
||||
*/
|
||||
@Override
|
||||
public List<DriveSchoolCoachClockVO> getTodayCarTrainSituation(DriveSchoolCoachClock driveSchoolCoachClock) {
|
||||
return driveSchoolCoachClockMapper.getTodayCarTrainSituation(driveSchoolCoachClock);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.course.vo.CommissionExportVO;
|
||||
import cn.iocoder.yudao.module.train.entity.Train;
|
||||
import cn.iocoder.yudao.module.train.mapper.TrainMapper;
|
||||
import cn.iocoder.yudao.module.train.service.TrainService;
|
||||
import cn.iocoder.yudao.module.train.vo.CloakAndTrainCountVO;
|
||||
import cn.iocoder.yudao.module.train.vo.NoClockInRemindVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainExportVO;
|
||||
import cn.iocoder.yudao.module.train.vo.TrainVO;
|
||||
@ -253,5 +254,20 @@ public class TrainServiceImpl extends ServiceImpl<TrainMapper, Train> implements
|
||||
return allData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 当日正在训练学员统计
|
||||
*/
|
||||
@Override
|
||||
public CloakAndTrainCountVO getTodayTrainSituation(Train train) {
|
||||
return trainMapper.getTodayTrainSituation(train);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前正在训练的学员信息列表
|
||||
*/
|
||||
@Override
|
||||
public IPage<Train> getTodayStudentTrainSituation(Train train, Page<Train> page) {
|
||||
return trainMapper.getTodayStudentTrainSituation(train, page);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -24,4 +24,6 @@ public class DriveSchoolCoachClockVO extends DriveSchoolCoachClock {
|
||||
* 结束时间
|
||||
*/
|
||||
private String endTimeStr;
|
||||
|
||||
private String studentTotal;
|
||||
}
|
||||
|
@ -19,10 +19,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="creator" column="creator" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="updater" column="updater" />
|
||||
<result property="attachments" column="attachments" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectDriveSchoolInsuranceVo">
|
||||
select id, user_names, user_id, car_id, user_name,car_no,company, content, money, insurance_time, create_time, creator, update_time, updater from drive_school_insurance
|
||||
select id, user_names, user_id, car_id, user_name,car_no,company, content, money, insurance_time, create_time, creator, update_time, updater, attachments from drive_school_insurance
|
||||
</sql>
|
||||
|
||||
<select id="selectDriveSchoolInsuranceList" parameterType="cn.iocoder.yudao.module.jx.domain.DriveSchoolInsurance" resultMap="DriveSchoolInsuranceResult">
|
||||
|
@ -109,50 +109,50 @@
|
||||
totalCount DESC
|
||||
</select>
|
||||
|
||||
<!-- <select id="trainClockByCar" resultType="cn.iocoder.yudao.module.train.vo.TrainCarCountVO">
|
||||
SELECT
|
||||
dscc.user_name,
|
||||
dscc.car_id,
|
||||
dscc.car_no,
|
||||
COUNT(*) AS totalCount,
|
||||
SUM(CASE WHEN dscc.subject = 2 THEN 1 ELSE 0 END) AS subject2Count,
|
||||
SUM(CASE WHEN dscc.subject = 3 THEN 1 ELSE 0 END) AS subject3Count,
|
||||
SUM(dscc.train_time) AS trainTimeCount,
|
||||
COUNT(dst.coach_clock_id) AS studentCount,
|
||||
SUM(CASE WHEN dscc.subject = 2 THEN dscc.train_time ELSE 0 END) AS subject2TrainTime,
|
||||
SUM(CASE WHEN dscc.subject = 3 THEN dscc.train_time ELSE 0 END) AS subject3TrainTime
|
||||
FROM
|
||||
drive_school_coach_clock dscc
|
||||
LEFT JOIN
|
||||
drive_school_car car ON dscc.car_id = car.id AND car.deleted = 0
|
||||
LEFT JOIN
|
||||
drive_school_train dst ON dst.coach_clock_id = dscc.id AND dst.deleted = 0
|
||||
WHERE
|
||||
dscc.deleted = 0
|
||||
AND dscc.subject IN (2, 3)
|
||||
<if test="entity.userId != null">
|
||||
AND dscc.user_id = #{entity.userId}
|
||||
</if>
|
||||
<if test="entity.carNo != null and entity.carNo != '' ">
|
||||
AND dscc.car_no = #{entity.carNo}
|
||||
</if>
|
||||
<if test="entity.subject != null">
|
||||
AND dscc.subject = #{entity.subject}
|
||||
</if>
|
||||
<if test="entity.courseType != null and entity.courseType != '' ">
|
||||
AND car.course_type = #{entity.courseType}
|
||||
</if>
|
||||
<if test="entity.trainDayStartTime != null and entity.trainDayStartTime != '' ">
|
||||
AND dscc.train_day >= #{entity.trainDayStartTime}
|
||||
</if>
|
||||
<if test="entity.trainDayEndTime != null and entity.trainDayEndTime != '' ">
|
||||
AND dscc.train_day <= #{entity.trainDayEndTime}
|
||||
</if>
|
||||
GROUP BY
|
||||
dscc.car_no, dscc.car_id, dscc.user_name
|
||||
ORDER BY
|
||||
totalCount DESC
|
||||
</select>-->
|
||||
<!-- <select id="trainClockByCar" resultType="cn.iocoder.yudao.module.train.vo.TrainCarCountVO">
|
||||
SELECT
|
||||
dscc.user_name,
|
||||
dscc.car_id,
|
||||
dscc.car_no,
|
||||
COUNT(*) AS totalCount,
|
||||
SUM(CASE WHEN dscc.subject = 2 THEN 1 ELSE 0 END) AS subject2Count,
|
||||
SUM(CASE WHEN dscc.subject = 3 THEN 1 ELSE 0 END) AS subject3Count,
|
||||
SUM(dscc.train_time) AS trainTimeCount,
|
||||
COUNT(dst.coach_clock_id) AS studentCount,
|
||||
SUM(CASE WHEN dscc.subject = 2 THEN dscc.train_time ELSE 0 END) AS subject2TrainTime,
|
||||
SUM(CASE WHEN dscc.subject = 3 THEN dscc.train_time ELSE 0 END) AS subject3TrainTime
|
||||
FROM
|
||||
drive_school_coach_clock dscc
|
||||
LEFT JOIN
|
||||
drive_school_car car ON dscc.car_id = car.id AND car.deleted = 0
|
||||
LEFT JOIN
|
||||
drive_school_train dst ON dst.coach_clock_id = dscc.id AND dst.deleted = 0
|
||||
WHERE
|
||||
dscc.deleted = 0
|
||||
AND dscc.subject IN (2, 3)
|
||||
<if test="entity.userId != null">
|
||||
AND dscc.user_id = #{entity.userId}
|
||||
</if>
|
||||
<if test="entity.carNo != null and entity.carNo != '' ">
|
||||
AND dscc.car_no = #{entity.carNo}
|
||||
</if>
|
||||
<if test="entity.subject != null">
|
||||
AND dscc.subject = #{entity.subject}
|
||||
</if>
|
||||
<if test="entity.courseType != null and entity.courseType != '' ">
|
||||
AND car.course_type = #{entity.courseType}
|
||||
</if>
|
||||
<if test="entity.trainDayStartTime != null and entity.trainDayStartTime != '' ">
|
||||
AND dscc.train_day >= #{entity.trainDayStartTime}
|
||||
</if>
|
||||
<if test="entity.trainDayEndTime != null and entity.trainDayEndTime != '' ">
|
||||
AND dscc.train_day <= #{entity.trainDayEndTime}
|
||||
</if>
|
||||
GROUP BY
|
||||
dscc.car_no, dscc.car_id, dscc.user_name
|
||||
ORDER BY
|
||||
totalCount DESC
|
||||
</select>-->
|
||||
|
||||
<select id="selectCoachClockIdsByCarId" resultType="cn.iocoder.yudao.module.train.entity.DriveSchoolCoachClock">
|
||||
SELECT
|
||||
@ -183,7 +183,7 @@
|
||||
</select>
|
||||
|
||||
<select id="noClockInRemind" resultType="cn.iocoder.yudao.module.train.entity.DriveSchoolCoachClock">
|
||||
SELECT user_id,tenant_id
|
||||
SELECT user_id, tenant_id
|
||||
FROM drive_school_coach_clock
|
||||
WHERE
|
||||
DATE (create_time) = CURDATE()
|
||||
@ -195,18 +195,18 @@
|
||||
|
||||
<select id="coachClockExport" resultType="cn.iocoder.yudao.module.train.vo.CoachClockExportVO">
|
||||
SELECT
|
||||
id,
|
||||
user_name AS coachName,
|
||||
user_mobile AS coachPhone,
|
||||
car_no,
|
||||
subject,
|
||||
addr,
|
||||
train_day,
|
||||
start_time,
|
||||
start_remark,
|
||||
end_time,
|
||||
end_remark,
|
||||
train_time,
|
||||
id,
|
||||
user_name AS coachName,
|
||||
user_mobile AS coachPhone,
|
||||
car_no,
|
||||
subject,
|
||||
addr,
|
||||
train_day,
|
||||
start_time,
|
||||
start_remark,
|
||||
end_time,
|
||||
end_remark,
|
||||
train_time,
|
||||
start_images,
|
||||
end_images
|
||||
FROM drive_school_coach_clock
|
||||
@ -291,4 +291,49 @@
|
||||
AND train_day <= #{entity.trainEndTimeStr}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getTodayTrainSituation" resultType="cn.iocoder.yudao.module.train.vo.CloakAndTrainCountVO">
|
||||
SELECT COALESCE(COUNT(*), 0) AS totalCarCount,
|
||||
COALESCE(SUM(CASE WHEN subject = 2 THEN 1 ELSE 0 END), 0) AS subject2CarCount,
|
||||
COALESCE(SUM(CASE WHEN subject = 3 THEN 1 ELSE 0 END), 0) AS subject3CarCount
|
||||
FROM drive_school_coach_clock
|
||||
WHERE train_day = CURDATE()
|
||||
AND DATE (start_time) = CURDATE()
|
||||
AND end_time IS NULL
|
||||
AND deleted = 0
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getTodayCarTrainSituation" resultType="cn.iocoder.yudao.module.train.vo.DriveSchoolCoachClockVO">
|
||||
SELECT
|
||||
dscc.*,
|
||||
COALESCE(COUNT(dst.coach_clock_id), 0) AS studentTotal
|
||||
FROM
|
||||
drive_school_coach_clock dscc
|
||||
LEFT JOIN
|
||||
drive_school_train dst ON dst.coach_clock_id = dscc.id AND dst.deleted = 0
|
||||
WHERE
|
||||
dscc.train_day = CURDATE()
|
||||
AND DATE(dscc.start_time) = CURDATE()
|
||||
AND dscc.end_time IS NULL
|
||||
AND dscc.deleted = 0
|
||||
<if test="entity.subject != null and entity.subject != '' ">
|
||||
AND subject = #{entity.subject}
|
||||
</if>
|
||||
GROUP BY
|
||||
dscc.id
|
||||
</select>
|
||||
|
||||
<!--<select id="getTodayCarTrainSituation" resultType="cn.iocoder.yudao.module.train.entity.DriveSchoolCoachClock">
|
||||
SELECT *
|
||||
FROM drive_school_coach_clock
|
||||
WHERE train_day = CURDATE()
|
||||
AND DATE (start_time) = CURDATE()
|
||||
AND end_time IS NULL
|
||||
AND deleted = 0
|
||||
<if test="entity.subject != null and entity.subject != '' ">
|
||||
AND subject = #{entity.subject}
|
||||
</if>
|
||||
</select>-->
|
||||
</mapper>
|
||||
|
@ -208,4 +208,42 @@
|
||||
</if>
|
||||
ORDER BY train_day DESC
|
||||
</select>
|
||||
|
||||
<select id="getTodayTrainSituation" resultType="cn.iocoder.yudao.module.train.vo.CloakAndTrainCountVO">
|
||||
SELECT
|
||||
COALESCE ( COUNT(*), 0 ) AS totalStudentCount,
|
||||
COALESCE ( SUM( CASE WHEN SUBJECT = 2 THEN 1 ELSE 0 END ), 0 ) AS subject2StudentCount,
|
||||
COALESCE ( SUM( CASE WHEN SUBJECT = 3 THEN 1 ELSE 0 END ), 0 ) AS subject3StudentCount
|
||||
FROM
|
||||
drive_school_train
|
||||
WHERE
|
||||
DATE ( create_time ) = CURDATE()
|
||||
AND DATE ( start_time ) = CURDATE()
|
||||
AND end_time IS NULL
|
||||
AND user_id IS NOT NULL
|
||||
AND deleted = 0
|
||||
<if test="entity.userName != null and entity.userName != '' ">
|
||||
AND user_name like concat('%',#{entity.userName},'%')
|
||||
</if>
|
||||
<if test="entity.subject != null">
|
||||
AND subject = #{entity.subject}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getTodayStudentTrainSituation" resultType="cn.iocoder.yudao.module.train.entity.Train">
|
||||
SELECT *
|
||||
FROM drive_school_train
|
||||
WHERE
|
||||
DATE (create_time) = CURDATE()
|
||||
AND DATE (start_time) = CURDATE()
|
||||
AND end_time IS NULL
|
||||
AND user_id IS NOT NULL
|
||||
AND deleted = 0
|
||||
<if test="entity.userName != null and entity.userName != ''">
|
||||
AND user_name like concat('%',#{entity.userName},'%')
|
||||
</if>
|
||||
<if test="entity.subject != null">
|
||||
AND subject = #{entity.subject}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
Loading…
Reference in New Issue
Block a user