From bf96e6f3418dbc099f1fb3ebf6ea8441351f99ef Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Tue, 29 Apr 2025 10:33:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DlDriveSchoolCoachServiceImpl.java | 125 +++++++++--------- 1 file changed, 64 insertions(+), 61 deletions(-) diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java index 2efd390e..129723f4 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.base.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.common.SchoolRoleEnum; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; @@ -287,85 +288,87 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl studentVOList = studentMapper.selectStudentListCoach(coach.getUserId(),null,null); + List studentVOList = studentMapper.selectStudentListCoach(coach.getUserId(), null, null); int overNum = (int) studentVOList.stream().filter(item -> null != item.getGradTime()).count(); - int noOverNum = studentVOList.size()-overNum; - Map studentInfoMap = new HashMap<>(); - studentInfoMap.put("overNum",overNum); - studentInfoMap.put("noOverNum",noOverNum); + int noOverNum = studentVOList.size() - overNum; + Map studentInfoMap = new HashMap<>(); + studentInfoMap.put("overNum", overNum); + studentInfoMap.put("noOverNum", noOverNum); //考试情况 - List examBatchItemVOList = examBatchItemMapper.selectByCoachId(coach.getUserId(),null,null); + List examBatchItemVOList = examBatchItemMapper.selectByCoachId(coach.getUserId(), null, null); Double subject2Num = 0.0; Double subject3Num = 0.0; Double subject2PassNum = 0.0; Double subject3PassNum = 0.0; - for (ExamBatchItemVO exam:examBatchItemVOList){ - if(2==exam.getSubject()){ + for (ExamBatchItemVO exam : examBatchItemVOList) { + if (2 == exam.getSubject()) { subject2Num++; - if(null!=exam.getIfPass() && exam.getIfPass()){ + if (null != exam.getIfPass() && exam.getIfPass()) { //考试通过 subject2PassNum++; } - }else if(3==exam.getSubject()){ + } else if (3 == exam.getSubject()) { subject3Num++; - if(null!=exam.getIfPass() && exam.getIfPass()){ + if (null != exam.getIfPass() && exam.getIfPass()) { //考试通过 subject3PassNum++; } } } - double subject2Rate=0; - double subject3Rate=0; - if(0!=subject2Num && 0!=subject2PassNum){ + double subject2Rate = 0; + double subject3Rate = 0; + if (0 != subject2Num && 0 != subject2PassNum) { subject2Rate = subject2PassNum / subject2Num; } - if(0!=subject3Num && 0!=subject3PassNum){ + if (0 != subject3Num && 0 != subject3PassNum) { subject3Rate = subject3PassNum / subject3Num; } - studentInfoMap.put("subject2All",subject2Num); - studentInfoMap.put("subject2Pass",subject2PassNum); - studentInfoMap.put("subject2Rate",0!=subject2Rate?(Double.parseDouble(df.format(subject2Rate))*100):0); - studentInfoMap.put("subject3All",subject3Num); - studentInfoMap.put("subject3Pass",subject3PassNum); - studentInfoMap.put("subject3Rate",0!=subject3Rate?(Double.parseDouble(df.format(subject3Rate))*100):0); + studentInfoMap.put("subject2All", subject2Num); + studentInfoMap.put("subject2Pass", subject2PassNum); + studentInfoMap.put("subject2Rate", 0 != subject2Rate ? (Double.parseDouble(df.format(subject2Rate)) * 100) : 0); + studentInfoMap.put("subject3All", subject3Num); + studentInfoMap.put("subject3Pass", subject3PassNum); + studentInfoMap.put("subject3Rate", 0 != subject3Rate ? (Double.parseDouble(df.format(subject3Rate)) * 100) : 0); //招生情况 List studentList = studentMapper.selectStudentList(coach.getUserId(), null, null); - int coachNum=0; - double coachAmount=0; - for (DlDriveSchoolStudentVO item:studentList){ - if("02".equals(item.getSource())){ + int coachNum = 0; + double coachAmount = 0; + for (DlDriveSchoolStudentVO item : studentList) { + if ("02".equals(item.getSource())) { //教练自招 coachNum++; - coachAmount = coachAmount+item.getPriceAmount(); + coachAmount = coachAmount + item.getPriceAmount(); } } - studentInfoMap.put("coachNum",coachNum); - studentInfoMap.put("coachAmount",coachAmount); + studentInfoMap.put("coachNum", coachNum); + studentInfoMap.put("coachAmount", coachAmount); //训练情况 - List trainList = trainMapper.selectTrainByCondition(coach.getUserId(),null,null); + List trainList = trainMapper.selectTrainByCondition(coach.getUserId(), null, null); Set allUserSet = new HashSet<>(); Double trainTime = 0.0; - for (TrainVO item:trainList){ + for (TrainVO item : trainList) { allUserSet.add(item.getUserId()); - if(null!=item.getTrainTime()){ - trainTime =trainTime+item.getTrainTime(); + if (null != item.getTrainTime()) { + trainTime = trainTime + item.getTrainTime(); } } - studentInfoMap.put("trainUserNum",allUserSet.size()); - studentInfoMap.put("trainTime",trainTime); + studentInfoMap.put("trainUserNum", allUserSet.size()); + studentInfoMap.put("trainTime", trainTime); result.setStudentInfoMap(studentInfoMap); /*4.财务情况*/ - List commissionList = commissionMapper.selectByCoachId(coach.getUserId(),null,null); + List commissionList = commissionMapper.selectByCoachId(coach.getUserId(), null, null); //科目2当月应付 Double subject2MonthShowed = 0.0; //科目2累计已付 @@ -382,39 +385,39 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl financeMap = new HashMap<>(); - financeMap.put("subject2MonthShowed",subject2MonthShowed); - financeMap.put("subject2Showed",subject2Showed); - financeMap.put("subject2Payed",subject2Payed); - financeMap.put("subject3MonthShowed",subject3MonthShowed); - financeMap.put("subject3Showed",subject3Showed); - financeMap.put("subject3Payed",subject3Payed); + Map financeMap = new HashMap<>(); + financeMap.put("subject2MonthShowed", subject2MonthShowed); + financeMap.put("subject2Showed", subject2Showed); + financeMap.put("subject2Payed", subject2Payed); + financeMap.put("subject3MonthShowed", subject3MonthShowed); + financeMap.put("subject3Showed", subject3Showed); + financeMap.put("subject3Payed", subject3Payed); result.setFinanceMap(financeMap); return result; } From 6d79a705e959b034378201b9eb0c00d7229f3271 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Tue, 29 Apr 2025 16:06:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DlDriveSchoolStudentMapper.java | 14 ++- .../service/impl/DataViewServiceImpl.java | 6 +- .../impl/DlDriveSchoolCoachServiceImpl.java | 114 +++++++++--------- .../mapper/base/DlDriveSchoolCoachMapper.xml | 2 +- .../base/DlDriveSchoolStudentMapper.xml | 73 ++++++----- .../dal/mysql/user/AdminUserMapper.java | 2 +- 6 files changed, 121 insertions(+), 90 deletions(-) diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java index 57bd7c43..11610f48 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DlDriveSchoolStudentMapper.java @@ -79,6 +79,18 @@ public interface DlDriveSchoolStudentMapper extends BaseMapper selectStudentList(@Param("coachId") Long coachId, @Param("startTime") String startTime, @Param("endTime") String endTime); + /** + * 查学生列表---驾校层面查询 + * + * @param coachId 教练ID + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return java.util.List + * @author vinjor-M + * @date 15:13 2025/2/14 + **/ + List selectStudentListByOrder(@Param("coachId") Long coachId, @Param("startTime") String startTime, @Param("endTime") String endTime); + /** * 教练层面查询自己的学生列表 * @@ -134,4 +146,4 @@ public interface DlDriveSchoolStudentMapper extends BaseMapper **/ List indexCusStudentList(String startTime, String endTime); -} \ No newline at end of file +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java index 2dec7553..18262b74 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DataViewServiceImpl.java @@ -24,6 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.*; import java.util.stream.Collectors; @@ -154,8 +156,8 @@ public class DataViewServiceImpl implements DataViewService { schoolRate = (double)schoolNum / allNum; } } - studentInfoMap.put("coachNum",coachNum); - studentInfoMap.put("coachAmount",coachAmount); + studentInfoMap.put("coachNum", new BigDecimal(coachNum).setScale(2, RoundingMode.HALF_UP)); + studentInfoMap.put("coachAmount", new BigDecimal(coachAmount).setScale(2, RoundingMode.HALF_UP)); studentInfoMap.put("coachRate",0!=coachRate?(Double.parseDouble(df.format(coachRate))*100):0); studentInfoMap.put("schoolNum",schoolNum); studentInfoMap.put("schoolAmount",schoolAmount); diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java index 129723f4..0c74f21c 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCoachServiceImpl.java @@ -288,7 +288,7 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl studentVOList = studentMapper.selectStudentListCoach(coach.getUserId(), null, null); + List studentVOList = studentMapper.selectStudentListCoach(coach.getUserId(),null,null); int overNum = (int) studentVOList.stream().filter(item -> null != item.getGradTime()).count(); - int noOverNum = studentVOList.size() - overNum; - Map studentInfoMap = new HashMap<>(); - studentInfoMap.put("overNum", overNum); - studentInfoMap.put("noOverNum", noOverNum); + int noOverNum = studentVOList.size()-overNum; + Map studentInfoMap = new HashMap<>(); + studentInfoMap.put("overNum",overNum); + studentInfoMap.put("noOverNum",noOverNum); //考试情况 - List examBatchItemVOList = examBatchItemMapper.selectByCoachId(coach.getUserId(), null, null); + List examBatchItemVOList = examBatchItemMapper.selectByCoachId(coach.getUserId(),null,null); Double subject2Num = 0.0; Double subject3Num = 0.0; Double subject2PassNum = 0.0; Double subject3PassNum = 0.0; - for (ExamBatchItemVO exam : examBatchItemVOList) { - if (2 == exam.getSubject()) { + for (ExamBatchItemVO exam:examBatchItemVOList){ + if(2==exam.getSubject()){ subject2Num++; - if (null != exam.getIfPass() && exam.getIfPass()) { + if(null!=exam.getIfPass() && exam.getIfPass()){ //考试通过 subject2PassNum++; } - } else if (3 == exam.getSubject()) { + }else if(3==exam.getSubject()){ subject3Num++; - if (null != exam.getIfPass() && exam.getIfPass()) { + if(null!=exam.getIfPass() && exam.getIfPass()){ //考试通过 subject3PassNum++; } } } - double subject2Rate = 0; - double subject3Rate = 0; - if (0 != subject2Num && 0 != subject2PassNum) { + double subject2Rate=0; + double subject3Rate=0; + if(0!=subject2Num && 0!=subject2PassNum){ subject2Rate = subject2PassNum / subject2Num; } - if (0 != subject3Num && 0 != subject3PassNum) { + if(0!=subject3Num && 0!=subject3PassNum){ subject3Rate = subject3PassNum / subject3Num; } - studentInfoMap.put("subject2All", subject2Num); - studentInfoMap.put("subject2Pass", subject2PassNum); - studentInfoMap.put("subject2Rate", 0 != subject2Rate ? (Double.parseDouble(df.format(subject2Rate)) * 100) : 0); - studentInfoMap.put("subject3All", subject3Num); - studentInfoMap.put("subject3Pass", subject3PassNum); - studentInfoMap.put("subject3Rate", 0 != subject3Rate ? (Double.parseDouble(df.format(subject3Rate)) * 100) : 0); + studentInfoMap.put("subject2All",subject2Num); + studentInfoMap.put("subject2Pass",subject2PassNum); + studentInfoMap.put("subject2Rate",0!=subject2Rate?(Double.parseDouble(df.format(subject2Rate))*100):0); + studentInfoMap.put("subject3All",subject3Num); + studentInfoMap.put("subject3Pass",subject3PassNum); + studentInfoMap.put("subject3Rate",0!=subject3Rate?(Double.parseDouble(df.format(subject3Rate))*100):0); //招生情况 List studentList = studentMapper.selectStudentList(coach.getUserId(), null, null); - int coachNum = 0; - double coachAmount = 0; - for (DlDriveSchoolStudentVO item : studentList) { - if ("02".equals(item.getSource())) { + int coachNum=0; + double coachAmount=0; + for (DlDriveSchoolStudentVO item:studentList){ + if("02".equals(item.getSource())){ //教练自招 coachNum++; - coachAmount = coachAmount + item.getPriceAmount(); + coachAmount = coachAmount+item.getPriceAmount(); } } - studentInfoMap.put("coachNum", coachNum); - studentInfoMap.put("coachAmount", coachAmount); + studentInfoMap.put("coachNum",coachNum); + studentInfoMap.put("coachAmount",coachAmount); //训练情况 - List trainList = trainMapper.selectTrainByCondition(coach.getUserId(), null, null); + List trainList = trainMapper.selectTrainByCondition(coach.getUserId(),null,null); Set allUserSet = new HashSet<>(); Double trainTime = 0.0; - for (TrainVO item : trainList) { + for (TrainVO item:trainList){ allUserSet.add(item.getUserId()); - if (null != item.getTrainTime()) { - trainTime = trainTime + item.getTrainTime(); + if(null!=item.getTrainTime()){ + trainTime =trainTime+item.getTrainTime(); } } - studentInfoMap.put("trainUserNum", allUserSet.size()); - studentInfoMap.put("trainTime", trainTime); + studentInfoMap.put("trainUserNum",allUserSet.size()); + studentInfoMap.put("trainTime",trainTime); result.setStudentInfoMap(studentInfoMap); /*4.财务情况*/ - List commissionList = commissionMapper.selectByCoachId(coach.getUserId(), null, null); + List commissionList = commissionMapper.selectByCoachId(coach.getUserId(),null,null); //科目2当月应付 Double subject2MonthShowed = 0.0; //科目2累计已付 @@ -385,39 +385,39 @@ public class DlDriveSchoolCoachServiceImpl extends ServiceImpl financeMap = new HashMap<>(); - financeMap.put("subject2MonthShowed", subject2MonthShowed); - financeMap.put("subject2Showed", subject2Showed); - financeMap.put("subject2Payed", subject2Payed); - financeMap.put("subject3MonthShowed", subject3MonthShowed); - financeMap.put("subject3Showed", subject3Showed); - financeMap.put("subject3Payed", subject3Payed); + Map financeMap = new HashMap<>(); + financeMap.put("subject2MonthShowed",subject2MonthShowed); + financeMap.put("subject2Showed",subject2Showed); + financeMap.put("subject2Payed",subject2Payed); + financeMap.put("subject3MonthShowed",subject3MonthShowed); + financeMap.put("subject3Showed",subject3Showed); + financeMap.put("subject3Payed",subject3Payed); result.setFinanceMap(financeMap); return result; } diff --git a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml index f9b66a1a..a7c77b42 100644 --- a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolCoachMapper.xml @@ -41,7 +41,7 @@ LEFT JOIN drive_school_coach_course dscc ON main.id = dscc.coach_id AND dscc.deleted = 0 LEFT JOIN drive_school_car dsc ON main.user_id = dsc.user_id AND dsc.deleted = 0 - main.deleted = 0 + main.deleted = 0 AND dscc.is_sign = 1 AND dscc.deleted = 0 AND dscc.if_end = 0 AND main.type = #{entity.type} diff --git a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml index b75c00d3..7b2f61b9 100644 --- a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml @@ -138,7 +138,7 @@ dss.* ,SUM(dsco.reserve_money+dsco.rest_money)AS priceAmount FROM drive_school_student dss - LEFT JOIN drive_school_course_order dsco ON dss.user_id=dsco.user_id AND dsco.deleted=0 + LEFT JOIN drive_school_course_order dsco ON dss.user_id=dsco.user_id AND dsco.deleted=0 AND dsco.if_end=0 AND dsco.is_sign = 1 WHERE dss.deleted=0 AND dsco.id IS NOT NULL @@ -153,6 +153,22 @@ GROUP BY dss.id + +