diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/workReport/service/impl/WorkReportServiceImpl.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/workReport/service/impl/WorkReportServiceImpl.java index d7fc0141..6dee6151 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/workReport/service/impl/WorkReportServiceImpl.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/workReport/service/impl/WorkReportServiceImpl.java @@ -93,12 +93,14 @@ public class WorkReportServiceImpl extends ServiceImpl 下拉框选项 Map dropdownColumns = new HashMap<>(); @@ -562,7 +563,7 @@ public class RescueInfoSystem extends BaseController { dropdownColumns.put(5, genders); List> exampleDataList = Arrays.asList( - Arrays.asList("测试员工", "岗位是下拉框选择", "年龄", "电话号码", "性别") + Arrays.asList("测试员工", "年龄", "电话号码", "性别") ); List textColumns = Collections.singletonList(3); @@ -577,9 +578,9 @@ public class RescueInfoSystem extends BaseController { @GetMapping("/drviceExport") public void exportUserList(DriverInfoDto query, HttpServletResponse response) throws IOException { - List list = rescueInfoService.getAll(query); + List list = rescueInfoService.getAll(query); // 输出 Excel - ExcelUtils.write(response, "员工数据.xls", "数据", DriverInfoDto.class, + ExcelUtils.write(response, "员工数据.xls", "数据", DriverInfoExportVO.class, list); } } diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/mapper/RescueInfoMapper.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/mapper/RescueInfoMapper.java index f65bf360..c0a80842 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/mapper/RescueInfoMapper.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/mapper/RescueInfoMapper.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.rescue.domain.RescueInfo; import cn.iocoder.yudao.module.rescue.dto.DriverInfo2Dto; import cn.iocoder.yudao.module.rescue.dto.DriverInfoDto; import cn.iocoder.yudao.module.rescue.vo.BuckleVO; +import cn.iocoder.yudao.module.rescue.vo.DriverInfoExportVO; import cn.iocoder.yudao.module.rescue.vo.DriverStaffSaveVO; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -91,5 +92,5 @@ public interface RescueInfoMapper extends BaseMapper DriverStaffSaveVO getOnInternal(Long id); - List getAll(@Param("entity") DriverInfoDto query); + List getAll(@Param("entity") DriverInfoDto query); } diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueInfoService.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueInfoService.java index c492603b..67aa6b6b 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueInfoService.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/IRescueInfoService.java @@ -6,10 +6,7 @@ import cn.iocoder.yudao.module.rescue.domain.DriverInfo; import cn.iocoder.yudao.module.rescue.domain.RescueInfo; import cn.iocoder.yudao.module.rescue.dto.DriverInfo2Dto; import cn.iocoder.yudao.module.rescue.dto.DriverInfoDto; -import cn.iocoder.yudao.module.rescue.vo.BuckleVO; -import cn.iocoder.yudao.module.rescue.vo.DriverStaffSaveVO; -import cn.iocoder.yudao.module.rescue.vo.MoneyManagement; -import cn.iocoder.yudao.module.rescue.vo.ReturnCarVO; +import cn.iocoder.yudao.module.rescue.vo.*; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -176,5 +173,5 @@ public interface IRescueInfoService extends IService DriverStaffSaveVO getOnInternal(Long id); - List getAll(DriverInfoDto query); + List getAll(DriverInfoDto query); } diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java index ac06e294..c840f6af 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueInfoServiceImpl.java @@ -25,10 +25,7 @@ import cn.iocoder.yudao.module.rescue.utils.DateUtils; import cn.iocoder.yudao.module.rescue.utils.RedisUtil; import cn.iocoder.yudao.module.rescue.utils.RedissonDelayQueue; import cn.iocoder.yudao.module.rescue.utils.StringUtils; -import cn.iocoder.yudao.module.rescue.vo.BuckleVO; -import cn.iocoder.yudao.module.rescue.vo.DriverStaffSaveVO; -import cn.iocoder.yudao.module.rescue.vo.MoneyManagement; -import cn.iocoder.yudao.module.rescue.vo.ReturnCarVO; +import cn.iocoder.yudao.module.rescue.vo.*; import cn.iocoder.yudao.module.staff.service.CompanyStaffService; import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; import cn.iocoder.yudao.module.system.api.dept.DeptApi; @@ -1548,7 +1545,7 @@ public class RescueInfoServiceImpl extends ServiceImpl getAll(DriverInfoDto query) { + public List getAll(DriverInfoDto query) { return baseMapper.getAll(query); } public List filterRescueInfoByDate(List rescueInfos, Date startTime, Date endTime) { diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/vo/DriverInfoExportVO.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/vo/DriverInfoExportVO.java new file mode 100644 index 00000000..7a0ec2f1 --- /dev/null +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/vo/DriverInfoExportVO.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.rescue.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +@Data +public class DriverInfoExportVO { + + @ExcelProperty("员工账号") + private String username; + + @ExcelProperty("员工姓名") + private String nickname; + + @ExcelProperty("手机号") + private String mobile; + + @ExcelIgnore + private String sex; + + @ExcelProperty("性别") + private String sexStr; + + @ExcelProperty("岗位") + private String roleNames; + + + + public void setSex(String sex) { + this.sex = sex; + // 设置转换后的性别字符串 + if ("0".equals(sex)) { + this.sexStr = "男"; + } else if ("1".equals(sex)) { + this.sexStr = "女"; + } else { + this.sexStr = "未知"; + } + } +} diff --git a/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml b/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml index 15504ba3..445f37cc 100644 --- a/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml +++ b/dl-module-rescue/src/main/resources/mapper/rescue/RescueInfoMapper.xml @@ -6,13 +6,13 @@ SELECT ri.*, - roi.order_status, - roi.set_money, - roi.id as rescueOrderId, - roi.pay_money, - roi.pay_time + roi.order_status, + roi.set_money, + roi.id as rescueOrderId, + roi.pay_money, + roi.pay_time FROM rescue_info ri - left join rescue_order_info roi on roi.rescue_info_id = ri.id + left join rescue_order_info roi on roi.rescue_info_id = ri.id where ri.deleted = '0' and roi.order_status = #{map.orderStatus} @@ -96,7 +97,7 @@ and rescue_time between - concat(#{map.rescueStart}, ' 00:00:00') and concat(#{map.rescueEnd}, ' 23:59:59') + concat(#{map.rescueStart}, ' 00:00:00') and concat(#{map.rescueEnd}, ' 23:59:59') and if(#{map.deptId} = 0, ri.dept_id is null, ri.dept_id = #{map.deptId}) @@ -107,15 +108,15 @@ SELECT ri.*, - roi.order_status, - roi.set_money + roi.order_status, + roi.set_money FROM rescue_info ri - left join rescue_order_info roi on roi.rescue_info_id = ri.id + left join rescue_order_info roi on roi.rescue_info_id = ri.id (ri.user_id = #{map.userId} or connection_phone = #{map.connectionPhone}) @@ -223,12 +224,12 @@ from rescue_info ri dept_id = #{map.deptId} - and rescue_type = '5' + and rescue_type = '5' and (connection_name like concat('%', #{map.connectionName}, '%') or connection_phone like concat('%', - #{map.connectionPhone}, - '%') or - license_num like concat('%', #{map.licenseNum}, '%')) + #{map.connectionPhone}, + '%') or + license_num like concat('%', #{map.licenseNum}, '%')) @@ -247,15 +248,15 @@ SELECT di.*, - su.nickname as real_name, - rci.rescue_car_num + su.nickname as real_name, + rci.rescue_car_num FROM driver_info di - INNER JOIN system_users su ON di.user_id = su.id AND su.deleted = '0' - left join system_dept sd on sd.id = di.dept_id - inner join rescue_car_info rci on rci.possessor_id = di.id + INNER JOIN system_users su ON di.user_id = su.id AND su.deleted = '0' + left join system_dept sd on sd.id = di.dept_id + inner join rescue_car_info rci on rci.possessor_id = di.id WHERE di.auth_status = '2' and (su.nickname like concat('%', #{searchValue}, '%') or - di.phonenumber like concat('%', #{searchValue}, '%') - or rci.rescue_car_num like concat('%', #{searchValue}, '%')) + di.phonenumber like concat('%', #{searchValue}, '%') + or rci.rescue_car_num like concat('%', #{searchValue}, '%')) order by di.create_time desc @@ -312,8 +313,8 @@ WHERE need_system = '0' AND driver_id IS NULL AND TIMESTAMPDIFF( - MINUTE, rescue_time, - NOW()) > 5 + MINUTE, rescue_time, + NOW()) > 5 AND rescue_status = '2' @@ -378,17 +380,17 @@ @@ -520,36 +524,26 @@ - + SELECT su.username, + su.nickname, + su.mobile, + su.sex, + GROUP_CONCAT(DISTINCT sr2.name SEPARATOR ',') AS roleNames FROM driver_info di - INNER JOIN system_users su ON di.user_id = su.id - AND su.deleted = '0' - WHERE 1 = 1 - - and su.nickname like concat('%', #{entity.nickName}, '%') + 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' + + AND su.status = #{entity.status} - - and su.mobile like concat('%', #{entity.phonenumber}, '%') + + AND (su.nickname like CONCAT('%',#{entity.nickname},'%') OR su.username like + CONCAT('%',#{entity.nickname},'%')) - - and di.driver_status = #{entity.driveStatus} - - - and di.auth_status = #{entity.authStatus} - - - and di.car_type = #{entity.carType} - - - and di.car_license_num like concat('%', #{entity.carLicenseNum}, '%') - - order by di.create_time desc + GROUP BY su.username, su.nickname, su.mobile, su.sex + ORDER BY su.nickname diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml index 049c8f11..e5866862 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/UserRoleMapper.xml @@ -104,6 +104,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND (su.nickname like CONCAT('%',#{role.nickname},'%') OR su.username like CONCAT('%',#{role.nickname},'%')) + + AND su.status = #{role.status} + GROUP BY su.id, su.username, su.nickname, su.user_type, su.remark,