From 2222d0430c47ca6fc85ef2b0a6e663c9c0330cd2 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Fri, 18 Apr 2025 17:45:20 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DlDriveSchoolCourseDeductController.java | 34 ++++++++ .../base/entity/DriveSchoolCourseDeduct.java | 34 ++++++++ .../mapper/DriveSchoolCourseDeductMapper.java | 24 +++++ .../DlDriveSchoolCourseDeductService.java | 26 ++++++ .../service/impl/DataViewServiceImpl.java | 2 +- .../DlDriveSchoolCourseDeductServiceImpl.java | 46 ++++++++++ .../impl/DlDriveSchoolStudentServiceImpl.java | 30 ++++++- .../base/vo/DlDriveSchoolStudentVO.java | 6 ++ .../base/vo/DriveSchoolCourseDeductVO.java | 10 +++ .../service/impl/ProcessServiceImpl.java | 46 +++++++++- .../base/DlDriveSchoolStudentMapper.xml | 87 ++++++++++++------- .../base/DriveSchoolCourseDeductMapper.xml | 12 +++ 12 files changed, 319 insertions(+), 38 deletions(-) create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DriveSchoolCourseDeduct.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DriveSchoolCourseDeductMapper.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java create mode 100644 dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DriveSchoolCourseDeductVO.java create mode 100644 dl-module-jx/src/main/resources/mapper/base/DriveSchoolCourseDeductMapper.xml diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java new file mode 100644 index 00000000..73575a5a --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.base.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct; +import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseDeductService; +import cn.iocoder.yudao.module.base.vo.DriveSchoolCourseDeductVO; +import com.github.pagehelper.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/base/drive-school-course-deduct") +@RequiredArgsConstructor +public class DlDriveSchoolCourseDeductController { + + private final DlDriveSchoolCourseDeductService driveSchoolCourseDeductService; + + /** + * 分页查询 + * + * @param request @class DriveSchoolCourseDeductVO + * @param pageNo 页码 + * @param pageSize 每页条数 + * @return @class DriveSchoolCourseDeductVO + */ + public CommonResult page(DriveSchoolCourseDeductVO request, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + return CommonResult.success(driveSchoolCourseDeductService.queryPage(page, request)); + } +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DriveSchoolCourseDeduct.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DriveSchoolCourseDeduct.java new file mode 100644 index 00000000..6327bb9c --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/entity/DriveSchoolCourseDeduct.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.base.entity; + + +import cn.iocoder.yudao.annotation.Excel; +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 提成配置对象 drive_school_course_deduct + * + * @author ruoyi + * @date 2024-05-07 + */ +@Data +public class DriveSchoolCourseDeduct extends TenantBaseDO +{ + private static final long serialVersionUID = 1L; + + /** 主键id */ + private Long id; + + /** 提成比例 */ + @Excel(name = "提成比例") + private BigDecimal deduct; + + /** 科目id */ + private String courseId; + + /** 科目 */ + @Excel(name = "科目") + private String courseSubject; +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DriveSchoolCourseDeductMapper.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DriveSchoolCourseDeductMapper.java new file mode 100644 index 00000000..dad123d8 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/mapper/DriveSchoolCourseDeductMapper.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.base.mapper; + +import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct; +import cn.iocoder.yudao.module.base.vo.DriveSchoolCourseDeductVO; +import cn.iocoder.yudao.module.jx.domain.DriveSchoolDeduct; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.pagehelper.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 提成配置Mapper接口 + * + * @author ruoyi + * @date 2024-05-07 + */ +@Mapper +public interface DriveSchoolCourseDeductMapper extends BaseMapper +{ + IPage queryPage(@Param("page") Page page, @Param("request") DriveSchoolCourseDeductVO request); +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java new file mode 100644 index 00000000..1fd9afc0 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.base.service; + +import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct; +import cn.iocoder.yudao.module.base.vo.DriveSchoolCourseDeductVO; +import cn.iocoder.yudao.module.jx.domain.DriveSchoolDeduct; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.pagehelper.Page; + +/** + * 提成配置Service接口 + * + * @author ruoyi + * @date 2024-05-07 + */ +public interface DlDriveSchoolCourseDeductService extends IService { + + /** + * 分页查询提成配置 + * + * @param page 分页对象 + * @param request 查询参数 + * @return 分页结果 + */ + IPage queryPage(Page page, DriveSchoolCourseDeductVO request); +} 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 1d3245d4..1da1b8a3 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 @@ -180,7 +180,7 @@ public class DataViewServiceImpl implements DataViewService { //教练查询 /*1.学员情况*/ List studentVOList = studentMapper.selectStudentListCoach(coachId,startTimeStr,endTimeStr); - int overNum = (int) studentVOList.stream().filter(item -> null != item.getGradTime()).count(); + int overNum = (int) studentVOList.stream().filter(item -> null != item.getOrderGradTime()).count(); int noOverNum = studentVOList.size()-overNum; Map studentInfoMap = new HashMap<>(); studentInfoMap.put("allNum",studentVOList.size()); diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java new file mode 100644 index 00000000..c4f771ed --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.base.service.impl; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct; +import cn.iocoder.yudao.module.base.mapper.DriveSchoolCourseDeductMapper; +import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseDeductService; +import cn.iocoder.yudao.module.base.vo.DriveSchoolCourseDeductVO; +import cn.iocoder.yudao.module.jx.domain.DriveSchoolDeduct; +import cn.iocoder.yudao.module.jx.mapper.DriveSchoolDeductMapper; +import cn.iocoder.yudao.module.jx.service.IDriveSchoolDeductService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 提成配置Service业务层处理 + * + * @author ruoyi + * @date 2024-05-07 + */ +@Service +public class DlDriveSchoolCourseDeductServiceImpl extends ServiceImpl implements DlDriveSchoolCourseDeductService +{ + @Resource + private AdminUserApi userApi; + + /** + * 分页查询提成配置 + * + * @param page 分页对象 + * @param request 查询参数 + * @return 分页结果 + */ + @Override + public IPage queryPage(Page page, DriveSchoolCourseDeductVO request) { + return baseMapper.queryPage(page, request); + } +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java index 29b62e9f..9e2a732f 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.base.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -15,6 +16,7 @@ import cn.iocoder.yudao.module.base.service.SchoolNotifyMessageSendService; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStaffVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolStudentVO; import cn.iocoder.yudao.module.base.vo.StudentCountVO; +import cn.iocoder.yudao.module.course.entity.Process; import cn.iocoder.yudao.module.course.entity.SchoolCourseOrder; import cn.iocoder.yudao.module.course.service.ProcessService; import cn.iocoder.yudao.module.course.service.SchoolCourseOrderService; @@ -32,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.Comparator; import java.util.Date; import java.util.List; @@ -69,7 +72,7 @@ public class DlDriveSchoolStudentServiceImpl extends ServiceImpl pageResult = dlDriveSchoolStudentMapper.selectByCoachId(pageReqVO, page); pageResult.getRecords().forEach(item -> { //查每个学生的当前所处的科目 - item.setProcess(processService.selectByUserId(item.getUserId(), item.getCoachId())); + List list = processService.list(Wrappers.lambdaQuery() + .eq(Process::getUserId, item.getUserId()) + .eq(Process::getCoachId, item.getCoachId()) + .eq(Process::getCourseId, item.getCourseId()) + .orderByDesc(Process::getCreateTime)); + + Process newProcess = new Process(); + if (CollUtil.isNotEmpty(list)) { + // 查询正在进行的课程 + newProcess = list.stream().filter(process -> process.getStatus().equals("1")).findFirst().orElse(null); + if (ObjectUtil.isNotEmpty(newProcess)) { + item.setProcess(newProcess); + } else { + // 判断所有进度是否都是已完成 + boolean flag = list.stream().allMatch(process -> process.getStatus().equals("2")); + if (flag) { + newProcess = list.stream().max(Comparator.comparing(Process::getSubject)).orElse(null); + }else { + newProcess = list.stream().min(Comparator.comparing(Process::getSubject)).orElse(null); + } + } + } + + item.setProcess(newProcess); }); return pageResult; } diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStudentVO.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStudentVO.java index e26a3090..7e778349 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStudentVO.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DlDriveSchoolStudentVO.java @@ -29,4 +29,10 @@ public class DlDriveSchoolStudentVO extends DlDriveSchoolStudent { private String startTime; /**查询时间范围--结束*/ private String endTime; + /**订单表中的毕业时间*/ + private String orderGradTime; + /**课程名称*/ + private String courseName; + /**订单ID*/ + private String orderId; } \ No newline at end of file diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DriveSchoolCourseDeductVO.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DriveSchoolCourseDeductVO.java new file mode 100644 index 00000000..3e5d23e9 --- /dev/null +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/vo/DriveSchoolCourseDeductVO.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.module.base.vo; + +import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct; +import lombok.Data; + +@Data +public class DriveSchoolCourseDeductVO extends DriveSchoolCourseDeduct { + /**课程名称*/ + private String courseName; +} diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java index 4428ad29..fb1335e6 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/course/service/impl/ProcessServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.course.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; @@ -327,12 +328,49 @@ public class ProcessServiceImpl extends ServiceImpl impl .eq(SchoolCourseOrder::getId, request.getOrderId()) .set(SchoolCourseOrder::getIfAssignmentCoach, SchoolBaseConstants.SCHOOL_COURSE_ORDER_IS_ASSIGN_COACH)); + // 查询进度 + List processList = list(Wrappers.lambdaQuery(Process.class) + .eq(Process::getCourseId, courseId) + .eq(Process::getUserId, userId)); + + Process process = processList.stream() + .filter(p -> "1".equals(p.getStatus())) + .findFirst() + .orElse(null); + + if (process == null) { + // 没有进行中的 + Process maxCompleted = processList.stream() + .filter(p -> "2".equals(p.getStatus())) + .max(Comparator.comparing(Process::getSubject)) + .orElse(null); + + if (maxCompleted != null) { + // 尝试找 subject == maxCompleted + 1 的 + Process next = processList.stream() + .filter(p -> p.getSubject().equals(maxCompleted.getSubject() + 1)) + .findFirst() + .orElse(null); + + process = next != null ? next : maxCompleted; + } else { + // 没有已完成的,找 subject 最小的 + process = processList.stream() + .min(Comparator.comparing(Process::getSubject)) + .orElse(null); + } + process.setStatus("1"); + //更新 + updateById(process); + } + + // 发送通知内容 String message = String.format(SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TEMPLATE_ASSIGN_COACH, - processes.get(0).getCoachName(), - processes.get(1).getCoachName(), - processes.get(2).getCoachName(), - processes.get(3).getCoachName()); + request.getProcessList().get(0).getCoachName(), + request.getProcessList().get(1).getCoachName(), + request.getProcessList().get(2).getCoachName(), + request.getProcessList().get(3).getCoachName()); // 发送消息给学员 schoolNotifyMessageSendService.sendMessage(userId, message, SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TYPE_MEMBER, null); 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 b0d4187d..d3d84263 100644 --- a/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/base/DlDriveSchoolStudentMapper.xml @@ -101,32 +101,35 @@ + SELECT main.*, dsc.name AS courseName + FROM drive_school_course_deduct main + LEFT JOIN drive_school_course dsc ON main.course_id = dsc.id + + From 52579188bf29ef7130326fd70056f4d43b0e6216 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Sun, 20 Apr 2025 12:58:17 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DlDriveSchoolCourseDeductController.java | 19 +++++++-- .../DlDriveSchoolCourseDeductService.java | 17 ++++++++ .../DlDriveSchoolCourseDeductServiceImpl.java | 39 +++++++++++++++++-- .../impl/DlDriveSchoolCourseServiceImpl.java | 5 +++ 4 files changed, 73 insertions(+), 7 deletions(-) diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java index 73575a5a..f9066cf1 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/controller/admin/DlDriveSchoolCourseDeductController.java @@ -6,9 +6,9 @@ import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseDeductService; import cn.iocoder.yudao.module.base.vo.DriveSchoolCourseDeductVO; import com.github.pagehelper.Page; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @RestController @RequestMapping("/base/drive-school-course-deduct") @@ -25,10 +25,23 @@ public class DlDriveSchoolCourseDeductController { * @param pageSize 每页条数 * @return @class DriveSchoolCourseDeductVO */ + @GetMapping("/page") public CommonResult page(DriveSchoolCourseDeductVO request, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page page = new Page<>(pageNo, pageSize); return CommonResult.success(driveSchoolCourseDeductService.queryPage(page, request)); } + + /** + * 新增 + * + * @param list @class DriveSchoolCourseDeductVO + * @return id + */ + @PostMapping + public CommonResult add(List list) { + driveSchoolCourseDeductService.add(list); + return CommonResult.ok(); + } } diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java index 1fd9afc0..003a4247 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCourseDeductService.java @@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.github.pagehelper.Page; +import java.util.List; + /** * 提成配置Service接口 * @@ -23,4 +25,19 @@ public interface DlDriveSchoolCourseDeductService extends IService queryPage(Page page, DriveSchoolCourseDeductVO request); + + /** + * 新增提成配置 + * + * @param list 新增参数 + * @return 新增结果 + */ + void add(List list); + + /** + * 新增默认提成配置 + * + * @param courseId 课程id + */ + void defaultAdd(String courseId); } diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java index c4f771ed..51541958 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseDeductServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.base.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct; import cn.iocoder.yudao.module.base.mapper.DriveSchoolCourseDeductMapper; @@ -14,6 +15,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; +import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -27,10 +29,11 @@ import java.util.List; * @date 2024-05-07 */ @Service -public class DlDriveSchoolCourseDeductServiceImpl extends ServiceImpl implements DlDriveSchoolCourseDeductService -{ - @Resource - private AdminUserApi userApi; +@RequiredArgsConstructor +public class DlDriveSchoolCourseDeductServiceImpl extends ServiceImpl implements DlDriveSchoolCourseDeductService { + private final AdminUserApi userApi; + + private final IDriveSchoolDeductService deductService; /** * 分页查询提成配置 @@ -43,4 +46,32 @@ public class DlDriveSchoolCourseDeductServiceImpl extends ServiceImpl queryPage(Page page, DriveSchoolCourseDeductVO request) { return baseMapper.queryPage(page, request); } + + /** + * 新增提成配置 + * + * @param list 新增参数 + * @return 新增结果 + */ + @Override + public void add(List list) { + List driveSchoolCourseDeducts = BeanUtil.copyToList(list, DriveSchoolCourseDeduct.class); + saveBatch(driveSchoolCourseDeducts); + } + + /** + * 新增默认提成配置 + * + * @param courseId 课程id + */ + @Override + public void defaultAdd(String courseId) { + //查询默认提成配置 + List defaultDeduct = deductService.list(); + if (CollectionUtils.isNotEmpty(defaultDeduct)) { + List driveSchoolCourseDeducts = BeanUtil.copyToList(defaultDeduct, DriveSchoolCourseDeduct.class); + driveSchoolCourseDeducts.stream().map(driveSchoolCourseDeduct -> driveSchoolCourseDeduct.setCourseId(courseId)); + saveBatch(driveSchoolCourseDeducts); + } + } } diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java index e4c2d5cc..e2d9c5b4 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolCourseServiceImpl.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse; import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse; import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCourseMapper; import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachCourseService; +import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseDeductService; import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseService; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO; import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO; @@ -37,6 +38,8 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl Date: Sun, 20 Apr 2025 18:29:30 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dl-module-base/pom.xml | 8 +------- dl-module-repair/pom.xml | 6 ++++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dl-module-base/pom.xml b/dl-module-base/pom.xml index 5a5c497f..e225e25e 100644 --- a/dl-module-base/pom.xml +++ b/dl-module-base/pom.xml @@ -144,13 +144,7 @@ org.apache.poi poi - 5.2.5 - compile - - - org.apache.poi - poi - 5.2.5 + 4.1.2 compile diff --git a/dl-module-repair/pom.xml b/dl-module-repair/pom.xml index 913afcc8..1975668f 100644 --- a/dl-module-repair/pom.xml +++ b/dl-module-repair/pom.xml @@ -30,6 +30,12 @@ com.deepoove poi-tl 1.10.0 + + + org.apache.poi + * + + org.projectlombok From 331e66ee049b181acfc62e1e73b7ec574f718a1a Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Sun, 20 Apr 2025 18:47:00 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/company/CompanyMapper.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/dl-module-base/src/main/resources/mapper/company/CompanyMapper.xml b/dl-module-base/src/main/resources/mapper/company/CompanyMapper.xml index 5969c654..9ccf10a6 100644 --- a/dl-module-base/src/main/resources/mapper/company/CompanyMapper.xml +++ b/dl-module-base/src/main/resources/mapper/company/CompanyMapper.xml @@ -50,6 +50,7 @@ from base_company bc left join system_tenant st on bc.tenant_id = st.id where FIND_IN_SET(#{map.serviceCodes}, bc.service_codes) > 0 + and bc.deleted = 0 and bc.tenant_id = #{map.tenantId} From 5bf67e0220743db6b455c8fe8bf645f5a2d6c221 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Mon, 21 Apr 2025 10:38:25 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DlDriveSchoolCoachCourseService.java | 2 +- .../impl/DlRepairTicketsServiceImpl.java | 2 +- .../templates/modified_ticketTemplate.docx | Bin 0 -> 19178 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 dl-module-repair/src/main/resources/templates/modified_ticketTemplate.docx diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachCourseService.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachCourseService.java index 22a08e84..0df535da 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachCourseService.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/DlDriveSchoolCoachCourseService.java @@ -24,7 +24,7 @@ public interface DlDriveSchoolCoachCourseService extends IService coachList); + void saveCoachCourse(String courseId, String courseName, String courseType, List coachList); /** * 通过课程id删除课程与教练关联关系 diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index 0dc5efc0..83ee5433 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -1016,7 +1016,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl}Q9*tU(1ZQHhOJL%ZAZKIQP+_7zSoOIN&o&59Y?EUPs-}ejr&dgQw z%3M|VsG4)#RkH@xP>==zMFoHZAOQdX5n$3t=gU<9mO^4a>{TjpC_t4M{a>j zB_InSv7-57lQNQSp(zZX+4FFeS$HX{6K|1vn8icAw}Dcyetr|Swrac0Q)4|)N@!~4 z2v6N%8#L?r+URY7MAA;`4KZ;HHI3>>v=7f{j#pbM1mW~r_N0hxba=&(@J$GBuad@| z;oVGt*RZmtg3xXft^5G-5w+QVP4K33nR{F=mM7o`hFj<)@xVHP>BxL}sL`-ez|}Kj z8j2F6s2B)7yH<|f?ZbBq&5?LSD+15WLlQ=c?>vW*r4a;K>;!O`b=TRGcbvAjbP+8d z)rZVCHNi=7n%y9OH(kKT%w`3U0f4Y?007eGGjg|gGNCuIH+HrCe98Ue?RKhr=DaqP z@!`w-z;AKOOXP;p0b^nHaGB{bb?0f+@=)OH43Zch989W#cq`44)64d6KTO!E>=rGnb2Q(NO>bB&JuCLLV=7ghaqctrPu#4ZhRr|TFMM5G zOMa{UbnV!oXGD%!8e25mpSW(nU{{waQ8V4B)vj4SksEZ@KCk@n8mviMUsNqKN~>+x zYXSu$1pO*IU9(by-jQdUM4hUS8}2F^=dxQt}3#!0ja<3 z7HbQv;v&DAwVko572em~t=-ht1)mkkc8BOnyJ@>|x0&eQSkrbdFG&aLuIR+UO8aY# zHd@1qx6Ep}XZoBdOiRV+>RceTF~R#&-)UXAt7j1wRN|Tcyp4wo15I+_-_`9zzxU=5 zB_!P@r-=y*~`HqRIn{022!je@b1q-n6XlQ`|ZW$#EYNep*`NRRHLSEDHK@+ z1t%C+$RWUp`YluYc#TB;_r#(g0~7h(|y25pR^!pUZ(aI=+QDi`ZKg z&1tQYI(*}SJq_BOQ!T!2=(coTvr}XrUNN&eZAOfS^)pUixIU&&aU1z)=1jttv#K%F z*4$sxRF|yLQA^r`cUQ>f1L?7kk2^O5*hE$FB(PygVgqRcajv2s%*Z zVeFnAbH=72g96PMl2#t|cXk(rnA?NX7BxH0B}dC8;iOw)af}D6WFmp^@VwkbRSVfo zVi({AwK1Y#QI(OTw7bd(XeLHLSOXGaQZD<%{Gz6cB>4*YD?0$NX%`$m`}%VhjWU~3 zLaFfx14-drBG=}ZyQryqiX4pYpC6Z!<|lFw-Q8Os@A41`b}slft^`}0kB`2G2YK9C z^uQYZsgh4aED(pi?B&WiMv^!OIErW@a7lTSBP~ER)baM6T{^HVJ^~eqj5n9?-^{n4 ztJhW@!}L9{al+rO(}o+v?E9P(wDG{xC{>71ov#Q0>OC51u-NI@e63u>nH90X?61<% zCY-miTGZsuWd?bp23($rXxTm$6mvn zVjN;GUb16G6!|%Bwx2h9dZX!Sxz?^O_D7X5S_HV5xBx4dM2E^n#Yc0%lt2#bw3@rD zfQaYe`|ty<%Jr2c#9i%7*!}&*a#HuVZ6Iflj;iV`g1Yd-MHHb9-v^FhPJlz5@?(cR znc#hOVq+iF!DmHLNF%zOm@9_4BW28tvX_r-e15*2xgEZDcG7o6W^IVPOxe*0~_@p457b3KbBY!zSd z1*@TVM@K}Fuk{N5=A(mN-z>>ET%`7wvd{!EgFk6&zSHTd?D$oz;|q$Z2E0QCyaCc! zvW1o-(HafVx%A~`kp2C~Gied7F;N8W1K!n9HVCq;(bz%Y_?2mg8T;~vSRy0F2mf^& zL4r%+>w*dX8Z@Fe(~0ww6kY#S)EQXg!otez7H& z`Fx<1{b7<{mZ5==$t0qzBEb-bC7>akfslU-sCi%4>=HKWVzJ*F@1ip@qB^vx;@FA#R z*fKF+APZ@v1+o$SaASPDIHullfD#M5M~4iZA$RpX@2$)o!ES5gg~|FdPn>}S zAj^>7oQ`R4vyhW%TeF|iAE2R>?@w-m88!MjIkAx;Il98ld>#gKrZ%!B8ZLbO>{Edv z!C8e)bPBgEtgL7*l_*at|A0n@nEbR(anbfUt1_32tJlsROfYeQO3-BGIoR8 zAJ?H9<}I3ds}$=S(`0YL6(|$x`()mP3fFyZ2hXQ&rp&unJN&Fu@5na@6YUbgQcPOZ zbX%|&we%RFSyk{(l=NInjSut&H6h81FTs>U4n30m-*dWfJ?1d|Se=AZ&qN()VNLD8Uxgkn#$O82mX5ed$U-_Taooo|q5 z+i*LCMTiL1SbLqXxeeM6CfoTlm06D!mWH8(m8suNjZaP;xPen+%M40SFqshQF7581 zF{mi34G;?Co?KF?)CHAooxcsMfzwzLhp`mskqhJ-V`oX`6bWZK2FAqnx;2b^$s4D;f}$Rr(XEY{wLUEW{{D$xEbP6`m=Wy!#uT z8GT{e&b|Ac38eM)E?_{2s+@Q!YT|lw#b)!-=wlTV@rnGkg8f<%!WeHf9x7KwhK6!a zmNf!fYl1u~(9jB$d_R#$vGPuws`tbn(QvG=MF(rS!wx1u%%>L%trm)3 z_8`ssjlLwaRIzTZ^Q_i}X8RQnYE0)e|G4?F>Ou(NVpCpTRB@h4e7Hj5T1?W~W`p9P zqx+@xC2$&JOtczc%E&ZQW07foW5@~xIgQza4ps|X%)wwYxiinN%GjZPEK zSCIl*f@=yD)gp-n02&4>zqiB9=J}K}-x>)@swb>+!k2WKWZjiYEe0YQkmiceN{u<7 zSqYO3^ahrvw@#X|T&q?oS)g&F%inv2h3OSNSq;UZ<*)<5hqjZpA?%YLDVP&?J-}P( znS0Rmu;AIs?RX<9c;)pA3w_&P9bSThco?cvJqbd(;!)RU=20S}Ae(xC{o)*4s>INLM3EICvl?1X7(%q- zNFV3>sGQOVqwadAKvrdBMU=KffiemXtlWMD$!J5(aZ&(_w<^C%DFv_q7>kQhuI1Si zl^2TVVXHwGZagQ4$^rk*EjE24f1NS|>jjpVDJ z0A0y;()^*xYgu`u;NL)W;?fQ~H{p>$CDQJQ1guc#jUaqET#?QLuOx!`gP7=zEQi`eNYcR zMc-Ll<|K`&oVS<~3SoFSJ#YdyQRuo>Z#q7#W6NjZ?T#R7*JR{7=5fPGSO2g}n)mo# zRSOrc2E0mtCG*njyyu?&bY910-0Y#h)9-LgT_}DPFB$Xb?JPw@_3Iz@;?)kyxd4J%Mb6Ix%v`7WTL&rKRsnABnY9wa1UV!e!yVzl6EgJKn@iz~$c(?p0B2`#O4LhnX{f5~)K{WnEQyhRg!ZiI z$VCgbncDA-VLhB}@>CTn(;cDC*RU`cwREY5I}MYoSgB#tq@|J-SSl9>>*jWEU0*K{ zz#z))s#vwtpnzr(vspyl@K^4x1s{5kt_I3)l`a*}cW#w#@lMv$trx{&M8(O{y<(U> zHN(M*`ybnBH9Kh%#TSHPp;a#(FN{MXp)2V!4g!4*P8;dDTKMQ@D3fzoO^c66nPI+^ z>HN;D9JxBSXCS^R3%NGO)*GO3KFUe;X>n0Mv10wjc&Mv7aKfLHu4wqZJ}1L zzssyOj|msPZkKFUjnYfV)=xC=h`Vsz^z*vB4GR+2rr_<5xZps`5?!V>1EJyTceM0q zP_~O}``8TXtaHD|_ip@HrU0w7xD`n|%iPd$$0>?}b3Bm*0EOp2O7~Po%Ak3r&Vew&snWz)gF?m>eNFY*`Y83Et09b57+?$kq%(MHutG1d*;@ckA&or(-VN>r*Q zvnP55k^rb3<8D+T?k&L-xpTb>Ec<{$UM>>Q(ino zum34%c{C)V^}J}hBkn`t$YJ!sy4mh&7%o}MZLpgoxfIXMFm2_oM?C_#U}xDd(>iTa zH*ymvCBy)^murmzIk8WUb=lX*F|lh6mPs9m*4#D+DRAeS$aMK(<2l0=O2`+}EK4E% zR=cI9@~qyP<7lAr1~_ADGIG+D32feIg&x*Oi#C>J%ybo>}8H2M8kOM zJKB20nU2fr7?+>q4|X)N0m2p9j>VH+_@bHGHMoz{kH59fB4OmO!hP0of&u`z07#&J znw$P*qW!bc=|ARLpijTbXY2pBkLsk!fA|%GFC=~hHM#E=3ka6W(U&XLA>#MQvhfpZ zir=G;tQn(~6f21GKDHX4O&r$$(DHMwc@#Lo7KTow1P@5gDlCxd)oyO{1l`e4F3=V( zHxPh0xqY^}3#>8g{`I@my{{u)S%LXMUa9@ZkX*;et;BmVOY{7xxb~>t;YGVpTlikd zcVz?#d7i;$1%sAB+HjkrD`b1+RN2^R@-24>Z*n2u-E*{zxBcvv#bzNj1|*UT$ZMVv zVF|?hj>jkmOuqq>SVN@5-ZyI_l>@}Yd`O<}9AF$1&R65{S0zMKx3xJx1{5=cS`nZE zRN{9mVTzc-959+8`u#9t=OBsX`MjUu{?2;&is-o1`)TOEgaH6PjhO$kUYgn4yV%*g zm^%N%eEB_9+dhi{b$E;7jGJ&%*;!ghG0Dn$sltA~-3PFo?jK3tAS==JW^+!h38u2w zn{GTc?MLu}+uFgOw9aKn#4P6C{B>^yy)=9fi}(C=s~cavz*Z8>64qJlYO2e?a_fTM zubsLmm{ByNZ*C5jswlB2Cx>c~1VAdq7;qhGBEc|<>>7j#L?g)*EI29x%QNg+iH`wm z_~kAbAwD<%I}R?Fe9<6q>d#dGh`$mgD&GUFJDUldogfFeCyansNG`Y7Q==k|fl7=( zFLAsYD{)O)LM@G5WAv{W$u(0_KN;w>1hL_WXatVE^xwU~P{1j^sNw?o9<+~AL7Xb9 z(y8XZ3p1ul2YaHs=oE@Oxqz?sR)c8?X@=SeT2PxCVFZhY{1%^Zjup?g*0~U}<+Ie} z-C-^@_m!HujHFJj9zcY_dR0^vL4XgrVxz}c_HCPqfE|cEU-U*dA}a3d z=G@9#3LxYXwodUzt@kfbbj|zhutg3TMfCwrPd`L;(jA40%#BTkdQ7wyblGD*B zCH?u*tDmnb_PdW&(Fh()MP}uv$+hLa8okpQmWbJ@Bu>!wiEyi%Pe;RV`)Z~oTW2iw zH)-sT_0?Du?^QlKgq&l46pde2JlFl{b}ei62!^Z$46! zqJH<^yt;`_rGR;6HC=?}zI0=_sIGjC!r>WtBlx8A|MqTyK!iy3eG>lnC*l9cTyJV; z@+ZD;*!_d=7ZhiBhz}J+L`0&pm6e)ho3bbOfLcZ%G`|rxBF`5*6uyQ;Re>fQ%)|7X zo2_9!h^-9*&2!xHxr}X`O=nMAq3w`;y2SSd+1JFDnu#5vLu*b|&oB(m=k6L3hd5u~G#q9qE9nP0oq?~0Lwt>A8W zjeL84);Rv+h(@Q@32X!d4=>ih@;b$Qw-`a*D0C%Y$pZwUO}+71F=96fsi`8M$^Zvc z;#+dYxR^RtSr&Wdp~{iaJ{RAyC|z*WzXM?;I$_EL8?E%{H;KbmwFpfCXzEAx8hMy0 z47{qqgP7mh1d%+NK%2wGQG^CWWNt*)6$XZAQRA#WG*9eH#LYjRXT4^;SH3fB&=!g( zSX`fUcdFX(i62>Cs?QL%3u)Ez}0dQ#NkEnu(=XyU6sS^)?@I-IdC zGvaZ>no~o7<)Xt>hY_bHhK8R3oHzXeFd{|~;*DrgKVS6=nDj8Y-0)5&uh0?(PPWko z`D8{qEDb0eV=G}Uf(D(0_B2gWEX>aau-uhF{IRz~OY0dTHG_!V^c1|Jn&ujdIKY_Q$DwN+3lwpy$fU&E+yzBgD|?<_9~fU;xJSJq99 zzubAKr|#9I3SM5`K6a-$tFAyupFDfLK>Quyqwa!0!@&T6Sxf)`?LRBLi-oDJDg8gs zjQ{jeX^h9Auw!HbjkPwGB7+6M*6Ip z0;fJappXRJ2)ijT3u5h%4VaL$n20pGP>n&Dxb?@~F-6*TX|!UXe`1*tN^_vbm`kGy zG6^f}pl2#^<-t%ig+e7=oD@-*xRkw+)S^?Hq7-2%P(FjAmHh==U`^W;pQ4`%G%o|O zcRp(&nE^+|QCNBe-Oe^*qFTO7*y#~qBMFF5L4tJ_dh7rrxtT7-iHLZ41pQa@Bz@92 zXrJWb$dyGp%#zieR#DCgJAhc-@y)Dz*8bNsEFe~FOlEv=wr#fBl^d%W&>$Ok{w~(U zb*KecJqSU2b!(cZQ^)%Ov}$GxwpH!!#fo7s(5$K7t54}Zo|75GPPk@MeO50V*&MJ{INNcH8%uVnb7L0JKGa&ZP95j6h4uPPpv9UdT(#eLoU^DS~a=V0~t(3E+3I3>7SP1R(#t=R} z;83^QTq7I3+B&L01easCwZa~VHx&c;+f5vf{vFW?@Oye$wZ~179SkK2evW*!yZ1yq zw>2BO*YE?pNW=y+g?Bz4;*Z?$Yp= zGZCdBGpgB?-4ouRDcw1ptDRt6(T@ucGX+s9nm`fqWW-Z!dI8E%DD=kZ@x)FLV=LlL z40|Nz{UIv3v51EG1jIz%Oze*n1z%;+5WCmhM`;`rbao>U+CZ?ViND&+#TX`faT;S| z)aOM+Kr2Gtr{5+T*o7W-U4s-`Z}`BF3~x{z-pi_TzX27Rm#(KFhqpa(kQj$YU(YEG z$}#ZPd#|Bw>g}kNTt6Yiy{6oC(yZFXc5*iAlrQh3jytDaA$ET(wn3D+AXEfj3h<*J z#tl9N(NCRRKb@uh5=CPxyL{4IE0=tQxL_nVAv6a)gH-+z(m=be7F23XdM)gWU1ips z8WhE$^If#`3o@ap&<5!Qm!7IupiC0ZUOiq7%gGZh69z-)h>r3h74?0)C$K23F+LU% zn%U=j&b`TU|8q+jC?w06MEUayoNZ7!dCjF(s}7xR_+p6$4_z9bV&N=+L{y{-x(Bkf z#-Lj7uri}qs$ix9ASt5VE1{)4jY|IoqX9zH#?WjG{A(cDuK#v1nhh%d7sThCgs;{> zYRp%6bimcSqgl+hd7h|yh%v(!q|4DX?W?$1REt3zJix+C`!5R0)auxoR^cI)S$Ef= zXAX?UY!IvPuit9tA4&7&bcSD}U6a+uDFeXSZv;k?1&-Af0@Zgcr+ zPEXBdmD9B1%ePGXD`aY%BsZQ=qOlpS(X(=|LHZd}-5R|jHO-njY1{gAVOi#T1?}ke zg-FI*a8nn{HXfF=kf&N)Xa29fxyFX`8V9^zcg70= zk1yXc@|~spJf08RG5P8Smu0DE5gC^mZ3MQI-0u4NM^`@Os$AeXTh3Zq@DKt(5C96) z`LSP5BlaM}rlUe(e3Qe7Ur&X?S$8fsw5)zSKoFOis>VqxGAK91y%g>Dba~;|>6gx4 zZ5vR76%bjOk+wSOvC(|z&1KubN^N-~w@?l2KxQJT{rKgglq@C7mUmP{b3T>cvv+MH z88ejod@(%fN=@xXZ?O1R25O8(lavXa8g*{{`xYUQpNT##a+HmBL*qW!vSO)lMX)OeU?}UOLG~(ln%c#TIj)AeLhgGQu{@wYrvlaEf+5 zCJdXkY(}J6Q{dc{tnxc^w#+4Ca{8Q#=(qvkOxPqIpHno&b%zmH{q8D#zcQO*|1wyq z0ORlmL1`&3lw1_%IcWm^fc?9`FuDxdU_Ws`N_W122~Bm)Wq=G9jLMvbPPAi1>Pxe# z?-=Dw7fhMZci!wqv<>t#G+jC^#s1m{)OCX--(j6Oh}ItjWYh8?zvRDB)1tFZ`g1U3 zh2BIy!6ea6>os!OO^;=@=XV56JrZX12!F#N9btYKJlk?m-+i!6X3tl?LmJKLwtK~E%xAi4_RQuX}?oZ z>8YngNj>1eB`(K^hH!&6P!Oo_N*CuBz*?CsBh&c+bDe+DMpJdI&aZdmDTlYfgR*c@ zpvAgPkP7YTQ=1fy{(Wo(SV!%f!*X9yqweoTxaqZ~*aWG1XR!-SiAGuFo=$`X=Z%21 zT`8r_{UCCe^-*KExM!nD^)vIOK9mJPmXBuJpU!&q%0m}RXPT}hbc=$gVsp>XuRi^2 zt{7DyE*sy1*=%PVv_cYRCl76VZ$($xXk@33Dr>8uQ!M`|c7Q2Hu&DqK|bN zW@N!1YYWNdBO2^+=|tdl0Y_=C!{hPDGwOXyJH714@f-2Ks-1fZH_&8sU%~v01XKKg z=^bavQSJ_DAE`k!O5EPzes3?Z0J)L31wVEGnYhH& zh|gRlN42FMo7e3OW&R-G;o|L*ZyV`SSk?9Fn(2AjW)PkX7twdV^cR(pAF**OaIN$Y3{=NI|0k$lkXK) z<&(DwD;M`!lYnJ$>beL8jfu;{u86bB%BUqMXr81Q zW~W6B@Q#~Fn)0TXnY{rmwM0_UHqaFF*TN$Om5U-GV(i+RopCfLqC>$F3pA53K}pO% z1R`acaqwMaZJMU${S@Q zL~RZYTo)py)e{9M>QmrfT~=m4Di}CsEPS)^&Pz^*$|S0gms#gNj&23YjQFx%jVVst z&sI-~=zg#Q<>r@-2;CO4ik^|MpHC4pzaVEz>O}6C-!mA_#>{GCBpMDzzVL-aF8(II z2TtM_ks={caY`M|JB9=4ATZzgI!WscioZa3HR{rVS456& zAc2BB+dnki%=hvl+@QBl*S_$Vg#~1)CY^*>;cD{VW=H2OB^@cf@KgU1Vy!t1TxvS^ zNpn9KZB$h+QRHRkMB)ixkpjXi~Gu!t&#( z7-!GVt@ffV%C6jdsET1whkrT$`SqQ7@HWH2{fpj8Vb_!iF0w~Gby`>*>cwpv^k$EY zva+Oh!B7PJi+or{Gd5sq`@C1GtYAO0Ypr{}v@r}1?jvm?v4=vD>ndj)C?NYprO* z7dgl7+ehak4W`uh)s0CUk~vruS7L4tunF-Yp`;p#k!RTtbH@c?_+0a={mo&yKRfT5 z&&n*@JGKe|kYo7-f;)l>GNl;Og^#|VTOXYee33&K`kUmAmjMT0d&i>&w-)Y*Gc3Q5 zr0e9t)zj$R@eu+GNi9W;a_5qI@o2&I`JVRayIMKv#yZl`0|3Q?j>x&N=%yKX2w|eF z`A}c*ucAwL$2q4_lp^Dv?ih%kUQC-&u1QJAvg*@Q-1|E>Hu?jGe$k=wTl(y<)B8i5TWE4OV!SS z78hSSm%`casQTHkZu=MQ-Fh>(mHD%8_jP)e zm@_y+T{43&Z=(gsgmi@%Eku(hqsUvOq)6hvBydJ;5BAn;3HJ(X=P*(x8Sr8jQM{Il zn1_Xk;}8^qhv)VY+?&V`2GZ;Ow2lq!03x~NCY1PpcH=FH=pcteS%bcU= z0o6%0!cM!gX^qIN{+1axw?91}FeJ%K+0;02vUR)o5a>M7FFgq#>>t=V=wrpD%#J=- z!#sw@6DhQLq*UdCq&aoDLS-;$ILt*mrn2B}&KjaMrO>)6_t$v*OKu9e!C!Ni%154MJa)@FZ={=GJU)e-virnvt3;`b6jM z9G-e9g3pJvL);;{w{|QwoZsM>ogiqOEHbQ}FnpCIX_omNpmw#+u<6dO2DHwAU&r3n z?O>sS&!N?4j9=UGqnpxBLk^dAhmn9=tMa>z2EMBXAH~zll0dr4;B;k4Bj{E!b)?!* zP1qT9af+!nq+EMpc>-1MJVUXiwn*!K^u{Kw=jnYqO@lJSu}K-nVG7=-Kk?!Sf}G;I zW?`_e)wVMP#JlNNiRtrd_=}W|ZwVM&^PoK{YlqF$;$*A?owHl8b7vz-Hgw)1t}4(O z>Y3L5cDM0;;Y1YUrY ziotnGd3>OpO1J<8mB?q6-o*|w+Rweu@1CcCHf%LH*aji3+Lt?hx`1=37h8BsRXgJXh3p;aCZuRdnb~P2)!ib{08j z&a(3t6L{BC}=uyDNtJWeA2puN)5D5hRSd5k3JC=f|tf z)dLHzbzp%+;Vz)2DNu9e42{^K%FNlW%+1-RD$4Pnn~&^;u@)~tYc6^%4z&zT`N^+% z23oxkzfH#4^C%6cxTz$ZoVW0e!Kftk^W*oyRk_PVY=hU5P)hp>qA__ZjugXx*2Md# zc=bcAMqZ_17ykIH<*(Qo#8b19=#heh(x@QnmA3N#qe?I>Iu#rFo02f_XNy0{tCY5K z#V8?Sl``zdbw@J8+$A^ZM^w*-6OOYR{dRwv3L9wN0@_r`I_xT4YT*`G<@H&j-GHU! zsln;1@j}#AVy~01muZ_M&+^LMK4t5)n52AOyGq5Jq;i!Exk|fLIBqCqEwtKI$Xb2u z+E92%{--8KX|J8E<6kv8EeqtVwc1um|GA@oi#YvkQ^NKq5&wVX|65AK|8)M3E=rdB zf^GM^JxifR$G1=EiaaNj7PD@>gPE0Rq#9yAW`0OHYh6Bq#01)MA9)LJ!P;Y=fQ=PZ zxXKT{mt4M$5;A`jP*tKs%!es(cOjD&F1;r8L*Fumc~$VUdcEO%^U71Trr-P)zBS^< zJ?*KJb+r8KB=W{r}Ba7%_N~QcEjApQG~12*dF?N0eyeRz=*hKoZhB0juyraPwxhQ~^S zTo(3F=l$L0-J_bK(%Eu&xYhSm#nc8Jmly|=h=9tOl_A$+>cjSc2*Zh8DW9tYRcxr9 z7(K5BYy%f*s^rJ_u-WL1&=Ixvz-W-k()c1ET3qxwYSn#rutL-f{$`9}XG zL*1~`sarak{UBLYBSoGax1?x~t$)61(13+Eh0 zOlpb0{1cNoOWMif7}9StKLVSS@wd#ZO4yD(3+){^}G`!m>x2< zhg8{Tn3^K|6^kxYvnJQOD(=Xxp2Urn_z9Ywc|QhfO(t78#;=Y9_^r%Ni>P|7(uQ9; zD#a5$OFTuT8l-D|Z@w)``DBYVEhKJ)9Z4W8!_Hc1`w>xP-_5M?f9&V+`@V47C?LO? ztVMFLEAgIhJA8&Ob888ggRz!6WflMs4SHJu!0y-gU-)+(6cD zp~=7ht>c4SJf)WR)6-Xt2mqk|XRGaQYNY%p1KMf&sNEXF=MR~{p5X(}>q)KHjUXg~ zfWf@1<{|PW$B6qx36E>!^_8MXmU%_M0w43EII%7HU=I)JA-nuIoDR++=2Rk62xx`2 zNPs0}2Ho~QyxzUkA9L9h3`U9xsXs)%e|&p?J%0bj6F(_$6z!w*HI?`_u_#3!XPzcV zpeWO!9HW7#Z?n31cVVR48BEJ%M85Ij+ms#_vV+K>ODt^K`az9bwas>L@hNlL-u+1g+d!o)Mg~} zI)4{zfDRCoNbEeO=rp9we!B1#i=5km0?+QNJ~IhmQ&z~|3nEvZUDtO%P)&3Tk7IK95cy#6|Z{(Pui6?EuZzd z&|fPD8ye5~Ms(klwY5Kt+Lzyc_U>nsR@bZktT@tq!~mAOIq zo1*zV6*~r=Y?bO>j{Fz6p)5Bi?}{(|X_+FXz}GaAf=iK1aUZ%vTOs{iM+_$Px8c>} zg2?7M_>Gcwy`+}-=wyH|>AX%T_>w5`sgAj&jpBAgB!m-vOw%w7S-;q162mN0(G)k2 z8MA(ocQq##)9kfUUayi8m?rYAffs#XF8TefW{2jb{xjs0ZW>Vk6-i;|qGD)dWBLy# z+j_F}Kgsq0<^>`6qLEC)9gD;*uz^XbU@}__k^kkBZeapSzS#xin?>wLwm-j`NJz#) zua&Fj>n;S+T5;S&+}xDeU$_NA;8emXJE0GOpn|I)r!cnVhUDd?swXipppU~klO5Bn zE2C^qZgsV7$T^eMK;`RYRuDFR`_`N-mOuoCwgRgnNhWh31!J?LSVt0Y=d7xSL?&gk z8tG{EpcpvAVZ-o@969DJcJx)0O0eYaE};}RTq-j#rL@GBzQ8tRN~#8u72FH`#{tyD zFCdgMal+nkHL-m+z$6RxH6>+S0s+)JH0B)$sklF5L5FX&WPf;m!?>X)|I}lT;b*9! zdDJnWp%Q}_tNFx%U47FqW5P_7U#CMnp=uBvV+FMv*?BWA-7UPSx0QHWm;8+4=Mi8X zrX?&;hQGRG&SNkDv=+8UBLJd9e}%yPM!5aPkwThzqz%X4>gM1V_*%sPuz(@;ZH*Azp;}4lwa@(rgELVypYpv@8l1KJkcX_~GMl z>jC04=dT{_BCQA#QD5Je>%A9sdeDP=AfvNLf((!9pK7rzk%A7r7BW@Id;!Kh2(2+ zHJtY9=iKGL6Jut$`E()tjfa8f#L?IMGd|4!lekEq(PW^U--HGJb}Tp@zDXo+En7pB6(^R+FXxTnmwrMG4u)J#A@`hZ|()@%^FH*yMV8 zfH)9taY-$+nhS--c7I&>yl+YG_7;xha9WT^We{$Wi~x;}%ZykC+6@c0#NireOlasy zNz5R_Vi%WDFsdh~Vb{7=2xtQhRmjdM)FQJqswqaph7q#@{V&gUlRN^@FWx2d4 zzmSDc@aVbNcZjb*Q3T4;tN`cH7%9wF4X+M|=r*Xz z6=t#xvP4d#JnwclYErv3k!QXz)!Y05KD7z1{KF{x=c=nFePx5dXU>FX?KFhR{a#1S z0n%#ZAx)h$?&y82t*xM!ZJy9#Ms!lcz4lY(>#}Ik)jh)9KnrP^lRiS^rUK(y+ok~+ z3VrbJ5wulSgO{`gs^##nq#Ci2Wp&5hg=3?q^n7gG@?N;uxId7fo@{ejVD{$#HbMoC zlIdayBM2uX#HHxxqG1WkJww2`ItmH&>eL3tP+5AQL@1^saq^J4cMj*Bvr42=X8j zppg@Qvj?!*UG^msXHg-0$0Bq&VsOSzC**D0OjG1M*I+QMRX8F0DSabDMLT2gOb4_U z5}?R*`J35>{XUtnCk}h$=u*(DLr3!=sPHlT{&?&1$o=`$|F^%^PSY}j{*$jrpM3pH zb@Hdx)YaL=-uC|}`%kw1^HiKLE&aKk4u5745FY82&17xHvlU+^AjC(_?vRq4ubCkw zlPnW{-I|=?=lhU*y^CbscZ(Y8JNSw&0?azpEU+|m zq-cA@tQgh4tS-mPq!yl)Zes31IXANoPPy2$GW|=EqY%7y*e=!Y)l`uc;=hY;fpM!l zO%g=#V;RY?lb8w}Agn^6_T@^`BV|{*?0LufV^iJNN^- z{h8qBehX4NvX8)_CzeX@8X#MivMdM=pXnv{D0&B z92WXl_+P{7{($=v{Tu$*AiKYc_-lB_A0oIZ{w?Cq!5)8w|J9ZB2OOUMKk)x?Ed3Sy zSLOH*uqW5Q!GBSe|0?0H`pzE`j(Gkp!R#~B)Bk8cf5rdz*7FZE0Fc8E0Q|3w=wIRg zy*KzXoLlHm@PF?V{)+zZmHN-<6OlimjsIueR*(k!q&ENn|M?g2IYX4i|8e#I0UZ%! A00000 literal 0 HcmV?d00001 From 513a77071b552d2d91036e69640cf4ea8d419899 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Mon, 21 Apr 2025 11:19:28 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/tickets/service/impl/DlRepairTicketsServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index 83ee5433..1d8ac9b8 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -757,7 +757,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl params = new HashMap<>(); String fileName = "结算单.docx"; - String tmpPath = "D:\\" + fileName; + String tmpPath = "./File" + fileName; // 设置列表配置,如果有多个列表时需加.bind("list1", policy) 新列表配置即可 ConfigureBuilder configureBuilder = Configure.builder(); /* From 0f5c5eeeb6c0c0a8b3a1f1e55bf3a6268a65e897 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Mon, 21 Apr 2025 12:23:29 +0800 Subject: [PATCH 7/8] =?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/DlRepairTicketsServiceImpl.java | 4 ++-- .../templates/modified_ticketTemplate.docx | Bin 19178 -> 19470 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index 1d8ac9b8..6548ca3d 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -757,7 +757,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl params = new HashMap<>(); String fileName = "结算单.docx"; - String tmpPath = "./File" + fileName; + String tmpPath = fileName; // 设置列表配置,如果有多个列表时需加.bind("list1", policy) 新列表配置即可 ConfigureBuilder configureBuilder = Configure.builder(); /* @@ -824,7 +824,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl>P!7aF3aQL#%y;b|% zTVMB|t~p0{b=7#f>K$^J3KO3JQ+tXC%ysW4GU0+i%Bvs{HV6dr{^$ng0DrXfbh2{x zVE1uyJU0FSSsqCJv|j#)*%s^!DpxQxa++s;pIQv2Y-(zfz~P3Ap(6s#^_S}m zE7HlDjK>?L(Fn5$CPAC4lo-|;E0cKBu57|{GE1M|ETadJ;dH=I2~bf_^acSf*9WJw z>#ZKQ2dDW@*YB&^-1s0dPM(7Xz zQ7@-)6Vv9A-6h@SZYv$+;jA1b@=ZQ=$2-Mz<_RY2F~w=k?ip8 zOlZ7aP@l|HRtp0fPRLv2BoZl3g=ke3)S786bgV5cY?@+{g0LA)5-q`;cpS2#zS6=z z3@x0$AA+=(*NmjOK-?G32CSAS)FDhB@Jwf*e3eAL;lX;t-@Ps|FGCT(xW>^mG4y|%J^$1B=Q z7^`q2yd~Xuby&rq3uFyScec<~)r#qPjK=SCL!;vuNi5q$F2#B$0p5);7ST&g^CgJm zE-IXA7rjjtx}nJlrN}@AQI(>ihj!mvDIhO5c@8-wfm^LVi()q_RP~uUUVKM&&_d9B_B{?@i-(2wY&ugqQ9^9lL$5OIuDah@V8;gk*H*u>P zY1Q=ia2rPwXMJ1P=p!zC$p{*#G#AKVp56O~xY&-tlH?Gl!vr|8>m3;I2zf}e)Hp zgZ@`LldF8~r!et_ifj4eRw>=BL*gy?wBr#^zZ<3bbGIH8!05VKA7xxy9}Siu)Y$k< z{wuey+;_|io?+nR2J!9Z>FeWDhs>0$yTX^;)%~Ix+%pJ+%laGbHuOTr@UBs>c`v_V zopDbN6lGA@x`{CmNj8M zJ3fhz6>>h_Pg->q<0L0i9&6qdclmQC%~mr}`)kiMEpWh~)&9?2w!!kLeA3@awv~5g zFho(3R*w{KSS6$>;NV*=N616+q}P(;)pp3W(B!~LAOkIu?p%AKc-J(%2)H0CL4^v5 zJe62KvIurP9k0 z4(_d*UT*+N_SK~0<q zvO=$ETG5PJ<_2cfqy8F9ale_R*5#Lc{fL^*SZ&rSlT6ny@f0hLqQC6KJN>VRpBJjc zo109pQ&}jYqbMW|3y8`)Mrb7u0)L zK8?=C+`UQ@ z-zu1+Ihjn?wIllzIRX=WtusCdKYa_z_@e%tta`!rI~<>g^SBl^Mv@m+4(+zG-M$cj zCcu%UfmN1$zS_irS?lU+jO2b_O- z-yPF=Zh?(;@0O!MaxtroAZ3b;K`#W3s2>llcnS*GZNJKW(U!RvX}cG@nEGSdslu2O zWD~&6OCA%IfMyWPJWexGX~~B+%9ZOuG!fE6hUZ(!)Zkuz1$H6qLBi}5ema7r$RT17 zqmhE$p{+z>aszHc3$lTB{`ES~G%}jR zo^Q!=*;tuLO5N?n0Ye0dt(_T@{TYSg11jPPdMRD;%EF(BD$Gu2@lU|w(wgYq?4zJiEzzYA&NTcP_#0`mmE!_`Wt-r(>m}~F zF|isRLbs|56;dEnO)#f+$+Idmin)lMK3e!eVAyyk;RB`n@x7uZKvHdaKKEvv!fB;fDz>XlcA zQXY<=JE;6^T+8~{-fFf?zx)k3q}!oBT8G+1C1iw(=>eIj7{Hd3(U#vt6`CjJLLb|w z2@3#MMyApuDv{(OWqs^O3wd4rjI*7^Wk5IG7Ff}E6}W{cOEUOnD)^Kb4q7*)>QZ4d zBe`YRT>*=$xr27VFRA)Rdf$>KyRSaB2;*bZcXk8DY_n7ibqw4nc+_x(>vro!ciMMQ z>CBmVSvAd2d_a9R#`|c;%fa89heoc+pk9rrqOQD5=7)8`a2u2B3r*>G|vP{{3bH z*C%;CpD>(4MI6@C?gJC7(7ccYEQuwSY&TfREj)DPhV1K6;?n$eJK)h1b$8|_s7`WZ zh)l~ykSw=hrsID8?+GeJ=^NUm&E>s*L6#xM+;}FkW9zw-nkV=J2yDbj4Y76E8p$9!0q6U882guPGR3x zev$MItt?Rs^;3jTR9wcdmJNfQqR;|&42(!$fEAAGT?zsb@z790_4^Q71_8Ww!+fA2 zxlBCNkQ`N_V436QJ$~*yC^UUT0faH{Hu@$c0e%}X(p**-gk1wSq_K-o3@BI8i^=Wj z^D24GCfWCEQz2I%Qvu$M6hUStdr^pja=kxcimW>vguit>u!c+eFqx%t*5+4K7AR=| z=gsE^(Z(u`Pw|TU(fR(F$~>LDG;!weyzd&iL3({5U5`UJ)iEM!7nba9SQ(Wn<8OAGu-ln%s~(NzC6R=ItJ{+$A5X&u3ea_qdcc z18I_ZG*=>H{y-j2)`6K%lG3@jz4o?1A41Imb0o18tAH zNBVSJRfnY%4NTy3#M+UMq14qV4t*&fj}?xurLF>#2qi6>IC@ePK4(>jzyi=om<>?(7y zOV_esXbz;e7NeguH=M!8%B1Lnm0>-Se_-W;;Bec0g}Z`RP1Ypu9?2pDR?)~L(9KjM z+c!K>vZxCbad|TsZEBB@ymsxt_S>(A*6}2MD4k!eh#Z$qy5!7xWxH{AqqZ?*+$#l+r{=-f zJ&}8!MKZmG(cJh~<9{|MX7On99eEI93^a-lc3*q>7rD4hWFfLUG4NdvDSNTM^`_xh z^$?@8$}VSBtJ$PtU}d!xtZ3naV>G8#9uPGwedD)dga~t&7l1y%#I#b zstq|q7ItdGBb#f7PHed2{S2Xnj%S;(lg$TBKNNcfSKb9|X@%6NG4&}wS8^@_q~3My z1M13A(EfBTOzDC&V~uM_KU~CQXTs@jmLZ1kAy2=TyQVb@)P7#uxt9s|0e#RzbuYSA ziDyL#6+eAE35^B_Qut{Y;jkMCeWnz1e%)37EaODCm+WL(0>}Bugzk&%GNeg;wJgc) zX;$!LeIi%%H9-vYjwRgLsE)jlr@vm_XE(V1;9{gzGYnW= zL9o#@J_CI%6j}c&+>)pXv-Q2-+vP)Z-r3o6XQI;FAHH#f*)NNC&27xKemv~1*v}t; zJDRB?1d1LY!&_D9A4RlkOkj`Y&Qv)5h1=EJ*I2Ti#yXHp3S;K{y!X$a1}S^{L66aK z1k&iCq17FPO#KE7O+jB5#KA!VoSdG_@)(2(l>np4BaxcNhz9nSg!Ze5KMRyGf*NM+ zrw;pDQbG6xYVZGaB2NX}7d)HY5iQhavYM7X+SCI9a%^IWafd6hHyGK?M@5P|_|ko~ z%&~dAi3==pK~cCQd?rCYa(W2H`K#3CzU&pwfiJp8e;E6<|Ij-~XHjw;K*E!3Rh!WC zb-{|U?D3;msrQJir)PmHFINdC>nrxFFYK$nQ#l}{MM0)VpN?Z`wcw!1rJ8Ka#Yt6x zQ5k?0zulxxWVCuRH(*Bjd{M^XGuTi{$S~Li+9-4B4!J_7qCymq%ghDJaEj&jfg++$`HVrl;(_xMb)i70Jr2;ka_kNLk$~Yvfv?M`sr@WeR^)oVVN1>(i>VSyfcWsd?DMFyu zzzX7lX#CYGHb4(K-biP*tDK=hiL&!`V`KS8DAGFl%Z;LW_I0u$FKM<{V7vv-S3PVv zG=niYeuGpiJ*eagn-Gpczvrmy4|l!Q9P!z^Uey^)!2rLH;V!JiH>1i8Ep)AaXQq<8 z=u64XZ)+Hv@<@{uX8bMhmO7=x1mN3mS+&Hk5v(w>5J7ZJI6p^bgxu+8+O=pqX3YG+ zzv?)b8ZEBAi+6iQhh6cXNdPTCg4;WhH~mieS{J!$Hd&EXzB#Uo^ow_N4I%3W**!3+ zJ4%tcNw_~+p4B_7her*8jS3im)f3_a4^tXAT1c6>(;XoS7 zaPW8_L=f`dR2wx2o3O!@SQQo_@HBzB8&XHg0^qt2e#oF9V7UI?47~bfIXNmbD@bR& zi@yDXul#s=elyCBNi%?Fg{rK~U54fs|HrEm4-=HgGyp#$sF-M$ENdT61j8DQ6DBz! z10ahGdPY+aqM5(F3Bydx`|_QItPQR3GwkltB8U*wufY^xM|^5KgyYy#f_cdhbd4(7 zoNy^$sMlR~7)$_>c(0rAJx8vsu4SGl8Om5yn)D=Q#~n8(tX2ec6A$WO%Bf(LT^9<# z!1jL_upt@yqGST$(bOOJ(Bnm9xONJm0Z!(zA}Qk;Dq+m2)t+lhYJcRSkm$TL46G|) zD!m>q_-uIm`tH}p)=ikIr2806UB|MTfMx}+tt*3$oO3Afj(Izbe?C~H_@JjHJVzY0 zJG1Do0*o!E z-CNpl9TaAt&$|<3$A9Ud1uY%(<$%rJ&*!-5qcPgS9br@kpY?ly%=u6^?;A1PxlhT{ z&~%9sdguM&V>xsQHzjB6$09 zIL%)9Kw1&&X>2^8`xsccT{W zvubmPt-}t#elU?P%6K&9l@drFZ)?sPx|@nZctVH^eJo9Dzf(4ucC8Rnmtg3n~$eL zdlQd)KHz;41L3f)aysz4AojV0rMVFYD%B5s` zs7ys`O%Lf^Y6%hq(d~f=#F)%`hQC6dVgJhP^k`2iw1IVhvzAn;^};pniFjNh`JF!S7BFg%@4k~lz-3x4`WAW7Ej5Mp%wpl${VsgT&pN}$ zXey2ET&ns{BBgkGnK=BYue`Fjys!s-J13<&t%2uHQ$p%{K#+?A<#$^$E*?dE3d&uU zovctGTW+vkD_qGu(xS)+yI8uH`=>*-oJ_Tp4<&R<%crzc%u=44Burcpu*?jOPVWwQ z+(&O)yso9Wy`~1{*8q>M`v)Z+y}*8EOJk_`cDcAh;a=Q{!0GnVo2P~EgIr_W^OW~? zD&9vov+PWaoOmU6^Fb$~Oipb(Rv+GUH6r$vDcPB<32~f3w^t0}k2t*BOU>@P(%rRx zAt@g{xHb4tPa^<4Fqi7TkwBmbqW`LixLbL6*g4y{|5FqBZn*5WEPxaEw4R|uu=T=WIlsKonZj<9lkOkmVc9|q>K$>z~nxEa9135>!f>Ywh<&ww9YrgI&3 z5>;Zb(e);H2N&R3o_Pztidl3HgJ(6p4tN(f-5!#=Z_YLd+RIH@CG}+nkQ%on{&r$6 zG@Ex*L)(fKBmELwY?nI2@2g3j>JyJV^DZ|hZNGd1udUG~+kH5%Kd{bu%ifJ-xBz5# zl*>15*(`!qV(Gkr#>jT5Sijqn3%JoA>CFE1ci6YzC5yo$M}g&gX~m-h$A#=o;U`~t$~)$td(tNWLUPT&SQyTeqPBXXXcBn#EU+AZ>X z9~wU>=-y5lc512Ih*~lo&=}{erD@frg1ig9Clm-J2%TMbC4!$zNiQSRsx5`l7Njt# zt|<$OMU@Q6RymlfwSGaTFwrgF&4M`eL_VAzh7(4yX1C#1o4uV9r1hoFwgM_r97m7C zxDx{j)ruSuiTKKlI7km*)%BqK6|JJfbGi1|1kLC@`M3cN7bh3}SdH87WvAJvshlu4|y9}gHl@!*`4$ldF z3YRD6j`u!MQ{3k*U%vCd*+!UjKTx~QTgcrwl=frIT0&(UtX}AoMlyq^Y*p{c^n`E-E z{9jsB!TyS|)If<-yK^K>uyThvQilW%V@@FjR!kea5N6%#knAF|CmN;A8+4MwPD6&q zXL#A&u!#uVO9UKZ6OkO(N$h3LKtLehgsPKtu^0ORRdEGb7M5Fq6)!4MI^rh~+~>Ss zaP%cyT4m0`o+Nm06B+$&7J|J{XB=%OY4*O7-Nqfkdq9`x9g`%tyybEUdwfe$@a`Pf zNuR6}*{CX-M={1qIC8wkt+0u3wZpcc=bqPo!Tp6JE#DOCg$N^+ExAurk`L4Jibn_5 zjgzzHq>O_N#v`+gzR>Lol_YdKyF^xlZ@nIk@@5IM%;t;XxuwO%GZoc#V8uN2Xruv6tN`^y*O?_$SW!)pQsLLoU&OFZFFEyF_O5j5#rO=R|px4 z+AieH>duRCq2qDH9fft>or|x_MW{k$#=c_X0iz`AB(gAi}ra3;It_aD1fYXZW59R6@EWXfs=>~+&PM>3iTr_m0 zUPM|JNRd#yhdeuhA(6R+0@JJ^KQfjeA~T!9BaL+$Y%S=ih}TBTpySV9r6%k5)}rwI zK#9c{@$Q3kP4OB2v%;^<$cA-Vg2F=3{C(^9mc>nyCh>RCHN{&IL-odS8y-t=o;_g- z8>fP>#(vSKb#Es7oLMI_+g7hINKjLMT3*lMroXIo&&$&1RPS35E$>X=Ap{Mzx zOjcQ>Ku_!i->0gaU=%cseQMV>&iS+13YhY^aG#nm*f_ra+S|Fd|Hjc6;FCzMPQgEW z{xtz$p3^cdyBDk|e=+H7<4s_c>bg^LTIjBc{pNIQ>8Xqu>p^r-cZ#HZVTJF99tSa*0ese@<^HfF-B|^pXRh7TO?!Rycxxb(HOw?Iq_CRcyYT%CJ?I)37E9Y zjON?cpmK4jQCEIOCWgOC@T%tAtrK%6`vlK5J znS-73Kf#C7eOXI%$R%R?>Tsm&vY6PO7E2xb;VdI@7qlqf1J;nB<{>?qvD5Rz6E>T zip$^e@wNCSI(%QOlWkj=-Z)@r?W9H~9btikH+0it>|&i~lSC!bW>mnHW$=BrD5&U= zSx6)_MIWcyN;h;)kZCj{>}yB-w8~MI1yFg1rc^>EjjWxcQx9Gu+rfjzir2q2OGxB4 z3b7`hMQfI7KaI039P_EE%m+`Syo>)5gcGLs%hRaCl6Odp+-aZLADnq)g)TqsR98yK zeAZK9mospt0a@?A-LA-X))6K=sTL@p8xh#S$*2b7z=v{1p08zl`6FoiITDBt1JuH% z3>CKt`IGt%H-DaTRpMkTZDQ?id^+Q;UVz~q;eU%MN}6xod|^PK zX;@H$jua&fF#3-ZI%qF2HBaa4=*vTzZnjip;qb1;x?=!82;EcG9N5R2>p`E(AnHo3+Vyp+<=2=hNiM|`rhU+y)Qx+g=T_G zd0i#1(aekuU3UhQA_uNzb+>YKzrB5D#!{3;Yq38s(VN?^(uy1F$i%XVL=w>E!;zx; zxJk-(8n6eW(>n@bhpD7co91GR9Bj_`7Zxj|uy@VBYuV4zSpf{#FGXq(unTy-m`p>| zkkkON61ElF>|9p8?(pOeglWXh_MxkO2!WRt(TWCQ2Q~vu?MDz__3h7O8d4UVfOvn? zcBlAl_uq^Hi&u)J&U>H7yvlR>^6`$5Wo3n9Dda%a2ZQhsjsnBwuMa|3*+bM~7#t~+ z=?&4H33HvC?*jsap2+{(FAWzm$FQjXb`L@JQ(5a|33 z2!!)D-SO`TCxe72&@uccO#Ewb_}Ac{)}w!i*WYZ(e;SdjoWYPd1!BmK0tu`&4FpD! zk?j8$=l|}aW`f8lilXyy{@=~+9=?u{L9 znslE3jI10rmov7kxNQt)TV8a0{cgeg!D-31CSUjU(DItw*0*X;KOU;-PWm@{@7T-! zVZ{3F^*qqSv;0WwhiB(cR(72DMvh{Iu$$nSpLCnUab|kYC-k41Wxzu<6IW5@*CCNpO52!3Q<1`rpimD2#N-+ z02EIRMaAHZBd4XhV!Onc&sOcH+*&1n>u=Yu>*~W!OBH*<4duP`y#(4VjIZsPdsdd^ zLkw3964B&?^v0U((WG1F^t^Kdj#Xyl;tdVXvD-N?f*5c0&b_sBsfwZG)<15N&?Dhe zJw$#Pb`kvb7nGy|AUkyQbI!?Sr~`K=w`J3i`-|c1B4Q9BgiBZm<^l<<)_}_&OM(8r zL={SA$6L7z(Ws`#Ph!kVa7SX2v4P#qC#F(ytfT>})>HZqfM>b$ieMHgiJO zB+N8#5xD~7)(~o~dp~7rF543%B1k(mt#tR5C~p75hGu|>LRuS$^ zr(zN?SnZr@4G%s=ZQX7~@6e;)DW;>-JW7k8Cia>Fl#gcD5eFI%XC&(!B=W&uK_Pn= zrjbhWNITe-;D}$;dlX{Z=Gtqbm5&6+5mfJ(z=M9UgXtA}x(7Pm5+E!bY5>kFLo!fU zM7~sH%YEy)abz7=P7)iDe@DCjZSI{04Hz*@CX&Ob%j&iR@8#=94`-@BP@1f(`_Gu( zLW1SMdbL*PKBfWkmq=dU&Utgo@FCF_LRmYXhFhoe5~7`<8JpUl?&W`0%A+9LQi<&Q zYqSy}7#KnVrPYgh%~IzG#dYzL@UhSs2=gy>OneJ7F!7*Fq@2edjfkYB>boM9qSc=u z_!$pUVdsW3E}cq;3M#pYXcO5_1=OA`Pq(qa^k4dX!k!;*7qZsJN_Ray+i$PRh?q_u z6b_!0+aK@m0}u8K1#($obOthHABMRQ5Bhk&sOOu>lJ1kL;!B{X7EX<}f@>L*oV&UW z(6|Cbt5VpnFEGAZ?>yG5uii%*`;d@Ey_DBV;mYP~*8@Qi8O5bu!Ta zlB_)8Hh!9%sstF`XZbjbk2eW=jC5ZEKILluO~u}qVJF^x`?dHU}`{?zH)%h}y0hTjtY=DUuq{>6r@ z>svCqr>NF3S(r#^30J5mga;%`7raE#Kq=t5)p6G1>yK}w=UKP5G!R?KZWHWb;Q^y! z5f`Bpn-s@~T8=dMv(4IL6;`^CB0vOm`NddWM%vTKf;T8gDnDay#{p^X&!6ggo6v5G zC<#^MgV(`7sK+o7ZbbH_oaNffxlVv%HlZ9G*LtvHd?I&110!syS7%rk%6gP?N#3!rp%VDYVO*7Zz zQ^T)E=9^EKRH#>T*q`i@ir*7A_Wd-FP!(>wq_}?TWHq)*HII_0`>ifMNy8QdX)AI& zSyP<2OmKa|wba3I$;L3j9#6B;16--snZRfA7h9puf8QP={~J zpv9gq4fvCvcf~~4L^M|&I)7{eA(^QTML?O#h>sisXMNu$&UQ2Z-EEghH}3!_O4QDb zSoz|&do`<<`IPOdxtkC6zsHCthv*5Zgh^gB4+|iR5Af@{+WLlAT_%Ins3?Z$helDW zSyciFg6m64`*qLnF0uf;{CY<1|Q7P4;kQf87=Bbj%w#hU_Bi2 z+)9r~`L@EPxnS@Mcig%+`&U@U{RT?of=#nfwQ56Crs8#!3PW;3zru@n$wt7<(Ao6$ zv~|x~Ct#m(O9yOHr8uR)r(3jY8Mcxv=^3%3aBGkss~LG#nC}}6=_1jUUBIhHBn=Oj z$!NlTArdt9?eNvXc)P14P1v>JTl(sLY-N4CZa{=W zBSGHsm11`ubHds&o=4u90Xh4~Z7eJ=z?5``i8Ne&At!{uK;@!2%gwFap~3yv>7Xw-*RZlAr3Xdy7!(nN9<8_|gt znUmzo=9hlTaSe%&@AGOLeP3vtqoYt9=Rt)$ls;*VYIgTi8?lwQi9w(+A=hAyJq0{8 zr1@+W_X~KU^gMq)*y`D4*{~C55;No`Z2r5j_WJ$l&%=tM;M$0i!)B%J+B$gmxeRhN5SvJqmVU9i(b4+UZfx(CH+mZu~6Q;Hb zQYe5Wr$IH6LM5sa921HRx<)P9Zy^n&n^NLdpdJmwN%Dymo8n0Z!*OgQ9Vu0(5D$9n ztBN+V1ZVleebA^XL+>FM(WY9iXP~+k;e^AiVj=u ztIx$T&$pD7B~=$bNRL#>TuI5=J8aV5b@n{9J%!8=j!V{nEZI3mYi)Auvg9Q`Pyv#$ z>9}9(sC6|`Fg{C=-VGbOp9K(61eA0;~Z-HKz?W~+#6jn5ZJoOIpQ4R7h4U3EYJD**iLPM1c zEx?)e^XWQr!3x~@czl?D-y}8XK^mIzlFX<3y6I`OVEJEg<;*s7yy!6!aO|ptmNCU? zZ6AF7BJD-$^@Uj}2nuKD;NJ6Vnz?6EaiF0MloM6Lxn*2;e2gRf!CCzvh6H$$GdAQD zGT`9iSo*;K{y4M@B{aUrRg|E$8(v8s#HWo5Wm%DgG+i)9OFHE>HwU_3MSup(laC9J!%>%`w0 z&4+>r+8XolhT)fa1*Uc!dH_~jr#jbP3HU)@>zjs5q_d=3`o9KD~zRk|zFy z+6g@I{yciJOk^QmmNn$MrVWLJgDYA=CW4OKo*I<$U2IEV`<2MBXmL>QyIBk0T0}k1 zU2B1rN~lL4b8>VU;{t7aDdR(M)~rWGjBvvw+-jbi?sr`wTj(E^AfS=@*rNk&e$pq0 z&JQ-HxS=v0eQICIuM)GiDEJG*yyR4ylLH&C*V=8Z9+8QqK^;UfO!A)aGaBC}X*4HJ zl?NCLl@{Kx(8)H*j55u+pZ-S5%X+rM+|bgGtq%thuUwQhg4$n!5=0Ex2ik24`ZA*( z=$?u^c|q&p0oFKKslG67kqb(X9_zn66X$r z+>WAb4Ut7O{1mL?c5+oswXeQA(-FcarwwFE7L{bdjDHTk0a7!Ux@s#w-#O#kIK#Ym z)Uo%nG2~!F6T_Pv%NuWtiZR7v@BZ~DNRmk^5U2kcvzuwT1}=C9l5wfHYGXD@Wh1Ia zo%a=PGkO?Jbgs%qNpH^@L!zW-Q8btayPG3TH}V=8E9#4xYA!&2##wU#qPEcA7MYng z6&FL);o9Fe1-zVuw>KXQ8^-q^kG;GMCq|5OIxMo<0b^@~R}Q4%Pw@iLK7!%H|KL1I zo+M_2BnCfrg{8+nl~qJ&Do%fg5 zDq$T){Z%R|SHjdm@!eVh4-9l&ex z({XM-pucUQpG$`8gEw7@A~wtjhsTZdrzB9Qyx-!V&ek09-jGrXMXZ6M5d5+SPc7Dn z^5h$cU`~fGyR%R zgfz(9cXBWR>7nvi2|2M<`1IB5^Es=C$Lp01P{XZITq!|_%pQWATq&u{J{JYP{k1hw zK#O_jCA_ijr_om6mKxY^$G;p54Pok+-P+-rl>C|N=9s3URufpz@ll_yI%HckV~vvYj8m+E z&ct)iEx_;MCNfl7pI&Gn`kW6xS8|2f3YJNDz}42LQQaxA{cS6>tKR!Bg@4oA3Ozj3 z=0+m(G-uPmo3u0*-St=&1db}Ym+ytfDBwZ@h~I_Z8vN6Lz?SW5tVPk-`}y!ub1m9g;XwzJZi&crvBKQ3c; z_AO2iBj{;*UPC>6X%*yNrkSg^z1q<*#Xna}bL=y>3}d!P)5A@0`uNuYdYqJgCGM3# zGuM>vbuQ=}=<(yTN=9g5 zUGvKhn_Db?>u{k6$zu$g%&C!KRYy9nVC2(0Teyz-^f&yC=u-oa=W%{O_B$^=?I6`E zbLY}=A4chH-8%Z)$s4$dox~gl{u#@4xi2-Fj1f?Gmlsz}wXLQlPal+M!aYrO_CNjO>Jg!9g|a2-0yhVbxR1KfRdRkH4+_%$+w$z)E9;flOBjC zEn4Kmd@mRJQDaR$!}_Qsd%9w%H?EsS1t{y{hq>Hc3uC5Y8g8d-#cOFo6)PPEmL5nC zRZq7!_%ZX8bG4McQ7?4&)SA1^`NBT^L=sx#EjV}4o$m~2LKU({xSsaUM21$&lEorVK? zQyO9xeA~PdgD%5SDpb5=)p1j!!;5GUV9f%0-6A^ttg?KJW|zq?#1TG^CQ`~To`>Ln zue78r6}qME2nhQjI(i!0kbEmpTvVhO7gS<=v*<41g{3NoLbkNF-^IPIoK2{5l+rU zEf<*Ue`q}{X;MjPO2r-xTt9nBPN&2B<~E;46g>41dT6eGjwKZweW3)UvXkJ!!y<;u z^`}NtegLYdsi`Fup-|n*Eyd%%pgMLiJ}}Bd?fXQIE8Li(DcWp6bdYs@y*(m~xV=fK zdq(zUK6{6BrRUNh(v9X<+&S;rxv_Fn^RZ2+Z=8GI;jobE>6UX(U_0ZxadQ^5B@C*z z1UXqAC%d>fta(T|+A(PcHtjc=Npx(qXvi3nBv7uxp7Xg|`?d@x%ntop$Skn;N3H8` zzBmF#gODb8gs3tdV!sojSDR6s%@R*au0l`<{`8Bm9Xm<0xRxd+o&roTl*0C7yoaT0 zwQZSiA)eAZ=Et&IF12&MhF36QiW`wanAvKtakDg9b*uO^h^b-Bs7a8M-o&pOA(Zo# z2N1*dX@+ZwlExJulu)>q+)x=DX2wgjd(%C3E|<1`dz|x|^@(6IcuLT;tL~5MZf+p4e9XM}XWdLPL(&Z(1s1iK+IS9WPR)hfE+>jINuyNh3 zG1zv=WxCVsqb{KiV1n+?x(|azSc-KmSvnwG^8_zHLZ>wHGe<~#nUFNkY?E#(I}42o z4xPP?ssK}mMMi&yDK!E0MJY{F%K^@9Cr7FfIwbK0r4NxXR zzfU`a^Wo#Wx$6SdaAS8BxWi*n1pXzARRWC001ZRGnv=iJi}{e&{5BT{S&!CD+S&K- z+*3e{8fM|~DlAzJ{8P_ILdXeX79$0HZ776&t(!P3xyvYpI_9;eFHLnW)bW6m!3-)z zf2GSxju%&-q|@U&k(xsuv>u_lYEI;IM?G$v&ygQUzct#~|6ExXh2te=h1O3`Jl*7A3yp%A^uMWry|Q?HHFbs!vm0_?8h=h5U7>#{}~9lTY7ld zI$68_&p_at&Zhf19|q8q{X{7kD7=DmYpc9K9>8-*x3;DddbNe?2p77!xE0f&+KG?KLn--6`-GXwaKq=d)8Ze8Bx!f2K6NqJ20>2_)uZ zXnkas7*ZM*SdIf8F3y22Ad9!gF}RjEI0l-Xxi;pr*>da8@7T!AXnU=+SOeoiYay$D z|Ngv!Ha*u-XiP$PA%oSoZ+$b3C_>!9BVJ@v|y(+WZ_v0MHQI3YOh&Dg=Z2r;z3Re##Z9O}I@ArW!eK%~Cz8cfWp zgtL3kvCM^4)JTN(d&$)NDZS)n>)ho0H7frD7H_wosxD&IsCWsS4L(6?x`R?w%my8mWBo(CK@s+}=-LNg<=0 zuVSa$F518D9MhZE>*`*|E#SYCC)HM!5$AQaGKO@OGa$I$Qphl9O9S(IKlw9bxodT6 zx|aNXSoh;;ZqDqb?%e+(6`Or@{#ga}HBw_>9CYEAR$|A;yv83a4pDh#Nd$tqp=k;V zU3aKgMd$5I)mPdgMt^*j$QK217tf3JxOXTsP<#XGQlkjIjjzHOXnl2A=`U?EJX%7Z zS#M5AmTPdAI@gtHQUug{yD%5sH-p!I$*FDah0=L!jG3b+KAKHwpIR^X<1UJEy|p<0 za5rjDA3k3`)%7fASrR*untw!j4j5SXB&>$@*!&vC<2dW07oIXVb>P@{Be}-Iq&R)3 zO%xJTj4lGppUd z{Iic2CuuY3ca3{*$tJ#n;WIp7CYBDsu)5BE!M#0TzGsBhDffCsKiXNUvwB~OMQhXj znmyGKRR&+r%7^!%3ievr5#i7UcJhKuCn;x*4$qNse8I3Qg7b}1kYA`)W%)Pp~?QfcMUN*M%a!)90 z(&|O(EA8im)d*s^7seYHtqW^0hH2t zqhbN4SxzRqGCQ<%eiZaPWFb<0+^37zDuY*Qu+3B9MqxWqyYK`#(RBxFZS`H*3#6ps)M7!MVI?CdfDW(x#X1rkk#M#toe^!OLYq$zqYz=)AU8x{F zatNGKEHyQI_wL-Rt2H$XF0oXIm5c>$O3?ur!Z9ZpC2oT~w-HU_ZdKaK9^;66XOpHQ zTyV+0mbYk$LkuOX4BK$Z~NpFDgDYj)>W%$Y4liVD@##tW$mGS8E&{&cDf1)oYZi0*|?J*zJB#uC}o zS4aYa`Xsz-VNt&ccR}h+%HAXTH5sxXRK<*MV#C2cI^Q*3FZ2mvUK4c8)IEt*Mh53- zrXGjek?D%un}{g2%3b)=kTzbYOs8X@Ctc!W(ji<*R&Bh77HNq=P(5aBw84cqV)unQ=xM z6&EOikhOS}dV9fqm^Wk)+uW8C@$p~Z&jVh!<$v{+jOKr|c_)`mwf$}sJT{>)Y8&D- z@~JhE%shKi$4E|Q76*-_tdgExJ1vu>&a+BXA3R*8IImKN!_}mv8V8^kiuJ{5<2JG= z$r-ZgQ{Lh+4pXk-xrmMuv-CE`=|+$iSM$I7!N9roekpZYUu>BDw@T1Agr|Z;?;3c+ ztWtDG%S5Iy!w-BhPO;=&Y$dSO&?~4>?D9i^zeq=it+Z#jgVzwa+;#Zu}tw^LG76QNl$f_UExIa9FrlRRY=9rl0)gJZy-r?`?RLwwUzZ9A}o|BbO7r zZSMU=p)3IYk1og%di?9x=6dzrhOR}`L?QN=R2O{Wa16D@ zNntqa@iuGLy0K8^JhwF3`i?NYg`oc3Eb7Oar!FhBQIs)%zC}M1b84^8Rd*0lgEOpa zkSP$iN4&iq`m`e$QN~UHG2QJrQNOB;lU&=S`W0d$uW;N?h0|PYUgy|62%yp%BYcZy zuC^PxU@q4Dg7FN|NrYXnD)YdM;zj8t&za@IAc29e9$wjnm~aQtv4 z%tYu*vHFZOOQN5~DppBe4+Kr=w=MGsRAu%Kr+kN>ga7$7dOg%c(4t1Pp@Q%opN{6M zGl<9OqCbTu_XCc90%o@>;m3rT%;vi!FNktmA~Q$U(pAq)Ahq??h&M@yvmuPw&X$s)BumiQl6CV>f} zPNkKjC;R`|@;}J`E&=*f8#y5u4A#_2IRSKE{{P1Cwlq^ub&(@YMUf|g`6HN0ClC4G zWtplhj}MbCl4>RYj_f~a0|tTSU_c(yMTCVxx66Eu|(>wJS~E{^#2_GFJ%mZ A4*&oF From a5c224229d2b59a9b8a4e6210f7a07b6f0b48902 Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Mon, 21 Apr 2025 14:10:36 +0800 Subject: [PATCH 8/8] =?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/DlDriveSchoolStudentServiceImpl.java | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java index 9e2a732f..53f4760a 100644 --- a/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java +++ b/dl-module-jx/src/main/java/cn/iocoder/yudao/module/base/service/impl/DlDriveSchoolStudentServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.common.BaseConstants; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; @@ -21,6 +22,9 @@ import cn.iocoder.yudao.module.course.entity.SchoolCourseOrder; import cn.iocoder.yudao.module.course.service.ProcessService; import cn.iocoder.yudao.module.course.service.SchoolCourseOrderService; import cn.iocoder.yudao.module.staff.service.UniqueCodeService; +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.api.user.dto.UserDTO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -38,6 +42,8 @@ import java.util.Comparator; import java.util.Date; import java.util.List; +import static cn.iocoder.yudao.framework.common.config.CommonStr.USER_TYPE_CUS; + /** * 驾校学员 Service 实现类 * @@ -61,11 +67,33 @@ public class DlDriveSchoolStudentServiceImpl extends ServiceImpl process.getStatus().equals("2")); if (flag) { newProcess = list.stream().max(Comparator.comparing(Process::getSubject)).orElse(null); - }else { + } else { newProcess = list.stream().min(Comparator.comparing(Process::getSubject)).orElse(null); } }