This commit is contained in:
Lx 2025-08-01 17:04:27 +08:00
parent af618e48af
commit 37030fb8c6
9 changed files with 71 additions and 3 deletions

View File

@ -173,7 +173,7 @@ public interface SchoolBaseConstants {
/**
* 提醒教练未进行离场打卡
*/
public static final String SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_NOT_ATTENDANCE_TODAY = "您今日还未进行离场打卡,不要忘记离场打卡哟!";
public static final String SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_NOT_ATTENDANCE_TODAY = "您今日有车辆: %s 还未进行离场打卡,不要忘记离场打卡哟!";
}

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.course.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class FinanceDeductInfoVO {
@ -32,6 +33,8 @@ public class FinanceDeductInfoVO {
private Integer subject;
private LocalDateTime createTime;
private String startTime;
private String endTime;

View File

@ -295,7 +295,7 @@ public class DriveSchoolCoachClockServiceImpl extends ServiceImpl<DriveSchoolCoa
public void noClockInRemind() {
List<DriveSchoolCoachClock> driveSchoolCoachClockList = driveSchoolCoachClockMapper.noClockInRemind();
for (DriveSchoolCoachClock driveSchoolCoachClock : driveSchoolCoachClockList) {
String message = String.format(SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_NOT_ATTENDANCE_TODAY);
String message = String.format(SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_NOT_ATTENDANCE_TODAY, driveSchoolCoachClock.getCarNo());
schoolNotifyMessageSendService.sendMessage(driveSchoolCoachClock.getUserId(), message, SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TYPE_ADMIN, driveSchoolCoachClock.getTenantId());
}
}

View File

@ -257,6 +257,7 @@
dsc.student_name,
dsc.commission_amount,
dsc.subject,
dsc.create_time,
course.type AS courseType,
course.name AS courseName
FROM drive_school_commission dsc

View File

@ -183,13 +183,25 @@
</select>
<select id="noClockInRemind" resultType="cn.iocoder.yudao.module.train.entity.DriveSchoolCoachClock">
SELECT user_id, tenant_id
/*SELECT user_id, car_no, tenant_id
FROM drive_school_coach_clock
WHERE
DATE (create_time) = CURDATE()
AND DATE (start_time) = CURDATE()
AND end_time IS NULL
AND deleted = 0*/
SELECT
user_id,
GROUP_CONCAT(car_no SEPARATOR '') AS carNo,
tenant_id
FROM drive_school_coach_clock
WHERE
DATE (create_time) = CURDATE()
AND DATE (start_time) = CURDATE()
AND end_time IS NULL
AND deleted = 0
GROUP BY
user_id, tenant_id
</select>
@ -331,6 +343,7 @@
WHERE user_id = #{userId}
AND train_day = CURDATE()
AND end_time IS NULL
AND deleted = 0
</select>
<select id="getClockCarInfoByUserId" resultType="cn.iocoder.yudao.module.train.entity.DriveSchoolCoachClock">
@ -340,6 +353,7 @@
AND car_no = #{carNo}
AND train_day = CURDATE()
AND end_time IS NULL
AND deleted = 0
</select>
<!--<select id="getTodayCarTrainSituation" resultType="cn.iocoder.yudao.module.train.entity.DriveSchoolCoachClock">

View File

@ -29,6 +29,8 @@ import cn.iocoder.yudao.module.system.api.permission.RoleApi;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.service.permission.RoleService;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -39,11 +41,13 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.excel.core.util.ExcelUtils.exportBlankTemplate;
@RestController
@ -77,6 +81,9 @@ public class RescueInfoSystem extends BaseController {
@Resource
private PermissionApi permissionApi;
@Resource
private RoleService roleService;
/**
* 新增道路救援发起
*/
@ -525,4 +532,42 @@ public class RescueInfoSystem extends BaseController {
public CommonResult<?> getOnInternal(Long id) {
return success(rescueInfoService.getOnInternal(id));
}
/**
* 导入模板下载
*
* @param response
* @throws IOException
*/
@GetMapping("/get-import-template")
public void importTemplate(HttpServletResponse response) throws IOException {
String[] head = {"员工姓名", "岗位", "年龄", "电话号码", "性别"};
// 下拉框列及选项列索引 -> 下拉框选项
Map<Integer, String[]> dropdownColumns = new HashMap<>();
//查询岗位
RoleDO roleDO = new RoleDO();
roleDO.setServicePackageId("jiuyuan");
List<RoleDO> roleDOS = roleService.pageByQuery(roleDO);
String[] roles = roleDOS.stream()
.map(RoleDO::getName)
.toArray(String[]::new);
dropdownColumns.put(1, roles);
String[] genders = {"", ""};
dropdownColumns.put(5, genders);
List<List<String>> exampleDataList = Arrays.asList(
Arrays.asList("测试员工", "岗位是下拉框选择", "年龄", "电话号码", "性别")
);
List<Integer> textColumns = Collections.singletonList(3);
// 导出空白模板到Excel
exportBlankTemplate(response, "staff_template.xlsx", "员工信息", head, dropdownColumns, true, exampleDataList, textColumns);
}
}

View File

@ -106,6 +106,9 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, DriverI
if (StrUtil.isNotEmpty(driverInfo.getRealName())) {
user.setNickname(driverInfo.getRealName());
}
if (StrUtil.isNotEmpty(driverInfo.getAvatar())) {
user.setAvatar(driverInfo.getAvatar());
}
adminUserApi.updateUser(user);
return baseMapper.updateById(driverInfo);
}

View File

@ -658,6 +658,7 @@ public class RescueInfoServiceImpl extends ServiceImpl<RescueInfoMapper, RescueI
staffRespVO.setSex(driverInfoDto.getSex());
staffRespVO.setTel(driverInfoDto.getPhonenumber());
Long userId = staffService.saveStaff(staffRespVO);
//
//代表为救援司机角色 需要添加到司机表中
driverInfoDto.setUserId(userId);
driverInfoDto.setDriverStatus("4");

View File

@ -98,6 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM driver_info di
INNER JOIN system_users su ON di.user_id = su.id AND su.deleted = 0
LEFT JOIN system_user_role sr ON su.id = sr.user_id AND sr.deleted = 0
INNER JOIN system_role role ON role.id = sr.role_id AND role.deleted = 0 AND role.code = 'jysj'
LEFT JOIN system_role sr2 ON sr.role_id = sr2.id AND sr2.service_package_id = 'jiuyuan'
<where>
<if test="role.nickname != null">