无关风月
6 小时以前 6605af34249a6fec0b3967698dcc53ae366d781c
保洁巡检本周代码
1个文件已添加
12个文件已修改
438 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java 135 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLocationController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-prod.yml 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/resources/application-prod.yml 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/resources/application-test.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInspectorServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/system/InspectorDetailVO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TInspectorMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
@@ -135,7 +135,7 @@
            if (patrolInspectorIds.isEmpty()) {
                return R.ok(new PageInfo<>());
            }
            if (!query.getPatrolInspectorIds().isEmpty()) {
            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()) {
                // 取交集
                patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
            }
@@ -234,13 +234,21 @@
    public void taskProgressExport(@RequestBody TaskProgressQuery query) {
        List<SysUser> sysUsers = sysUserService.selectAllList();
        if (StringUtils.hasLength(query.getDeptName())) {
            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
            List<String> projectIds = list
                    .stream().map(TProjectDept::getId).collect(Collectors.toList());
            List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                    .stream().map(TDept::getId).collect(Collectors.toList());
            for (TProjectDept projectDept : list) {
                if (projectDept.getParentId().equals("0")){
                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
                    projectIds.addAll(collect);
                }
            }
            projectIds.addAll(deptIds);
            if (projectIds.isEmpty()) {
                projectIds.add("-1");
                projectIds.add("0");
            }
            // 用户ids
            List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
@@ -249,7 +257,7 @@
                    .collect(Collectors.toList());
            collect.addAll(collect1);
            if (collect.isEmpty()) {
                collect.add(0L);
projectIds.add("0");
            }
            query.setPatrolInspectorIds(collect);
@@ -913,10 +921,18 @@
        tLeaveLambdaQueryWrapper.eq(TLeave::getAuditStatus, 2);
        List<TLeave> leaves = leaveService.list(tLeaveLambdaQueryWrapper);
        if (StringUtils.hasLength(query.getDeptName())) {
            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
            List<String> projectIds = list
                    .stream().map(TProjectDept::getId).collect(Collectors.toList());
            List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                    .stream().map(TDept::getId).collect(Collectors.toList());
            for (TProjectDept projectDept : list) {
                if (projectDept.getParentId().equals("0")){
                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
                    projectIds.addAll(collect);
                }
            }
            projectIds.addAll(deptIds);
            if (projectIds.isEmpty()) {
                projectIds.add("-1");
@@ -1103,37 +1119,71 @@
        List<TTask> listAll = taskCleanerService.list();
        List<String> listAllTaskIds = listAll.stream().map(TTask::getId).collect(Collectors.toList());
        if (StringUtils.hasLength(query.getDeptName())) {
            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
            List<String> projectIds = list
                    .stream().map(TProjectDept::getId).collect(Collectors.toList());
            List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                    .stream().map(TDept::getId).collect(Collectors.toList());
            for (TProjectDept projectDept : list) {
                if (projectDept.getParentId().equals("0")){
                        List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
                        List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
                        projectIds.addAll(collect);
                }
            }
            projectIds.addAll(deptIds);
            if (projectIds.isEmpty()) {
                return R.ok(new ArrayList<>());
                projectIds.add("0");
            }
            // 用户ids
            List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
                    .collect(Collectors.toList());
            List<Long> collect1 = sysUsers.stream().filter(e -> e.getDeptType() == 2 && deptIds.contains(e.getDeptId())).map(SysUser::getUserId)
                    .collect(Collectors.toList());
            collect.addAll(collect1);
            if (collect.isEmpty()) {
            collect.add(-1L);
            }
            query.setPatrolInspectorIds(collect);
            if (StringUtils.hasLength(query.getPhonenumber())) {
                List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                        sysUser.getPhonenumber().equals(query.getPhonenumber())
                                && projectIds.contains(sysUser.getDeptId())
                ).map(SysUser::getUserId).collect(Collectors.toList());
                if (patrolInspectorIds.isEmpty()) {
                    return R.ok(new ArrayList<>());
                    patrolInspectorIds.add(-1L);
                } else {
                    patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
                    query.setPatrolInspectorIds(patrolInspectorIds);
                }
                query.setPatrolInspectorIds(patrolInspectorIds);
            }
        }
        if (StringUtils.hasLength(query.getPhonenumber())) {
        if (StringUtils.hasLength(query.getNickName())){
            List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                    sysUser.getPhonenumber().equals(query.getPhonenumber())
                    sysUser.getNickName().contains(query.getNickName())
            ).map(SysUser::getUserId).collect(Collectors.toList());
            if (!query.getPatrolInspectorIds().isEmpty()) {
            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
                // 取交集
                patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
            }
            query.setPatrolInspectorIds(patrolInspectorIds);
            if (patrolInspectorIds.isEmpty()) {
                return R.ok(new ArrayList<>());
            if (patrolInspectorIds.isEmpty()){
                patrolInspectorIds.add(-1L);
            }
            query.setPatrolInspectorIds(patrolInspectorIds);
        }
        if (StringUtils.hasLength(query.getPhonenumber())){
            List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                    sysUser.getPhonenumber().contains(query.getPhonenumber())
            ).map(SysUser::getUserId).collect(Collectors.toList());
            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
                // 取交集
                patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
            }
            if (patrolInspectorIds.isEmpty()){
                patrolInspectorIds.add(-1L);
            }
            query.setPatrolInspectorIds(patrolInspectorIds);
        }
        LambdaQueryWrapper<TInspector> tTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
        tTaskLambdaQueryWrapper.eq(TInspector::getAuditStatus, 1);
@@ -1153,8 +1203,11 @@
        }
        List<InspectorVO> res = new ArrayList<>();
        List<TInspector> inspectors = inspectorService.list(tTaskLambdaQueryWrapper);
        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList());
        for (SysUser sysUser : sysUsers) {
        List<String> users = inspectors.stream().map(TInspector::getCommitPerson).collect(Collectors.toList());
        if (users.isEmpty()){
            users.add("0");
        }
        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1&&users.contains(e.getUserId()+"")).collect(Collectors.toList());        for (SysUser sysUser : sysUsers) {
            InspectorVO inspectorVO = new InspectorVO();
            inspectorVO.setNickName(sysUser.getNickName());
            inspectorVO.setPhonenumber(sysUser.getPhonenumber());
@@ -1202,37 +1255,59 @@
        List<TTask> listAll = taskCleanerService.list();
        List<String> listAllTaskIds = listAll.stream().map(TTask::getId).collect(Collectors.toList());
        if (StringUtils.hasLength(query.getDeptName())) {
            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
            List<String> projectIds = list
                    .stream().map(TProjectDept::getId).collect(Collectors.toList());
            List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                    .stream().map(TDept::getId).collect(Collectors.toList());
            for (TProjectDept projectDept : list) {
                if (projectDept.getParentId().equals("0")){
                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
                    projectIds.addAll(collect);
                }
            }
            projectIds.addAll(deptIds);
            if (projectIds.isEmpty()) {
                projectIds.add("-1");
                projectIds.add("0");
            }
            // 用户ids
            List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
                    .collect(Collectors.toList());
            List<Long> collect1 = sysUsers.stream().filter(e -> e.getDeptType() == 2 && deptIds.contains(e.getDeptId())).map(SysUser::getUserId)
                    .collect(Collectors.toList());
            collect.addAll(collect1);
            if (collect.isEmpty()) {
                collect.add(-1L);
            }
            query.setPatrolInspectorIds(collect);
            if (StringUtils.hasLength(query.getPhonenumber())) {
                List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                        sysUser.getPhonenumber().equals(query.getPhonenumber())
                                && projectIds.contains(sysUser.getDeptId())
                ).map(SysUser::getUserId).collect(Collectors.toList());
                if (patrolInspectorIds.isEmpty()) {
                    patrolInspectorIds.add(0L);
                    patrolInspectorIds.add(-1L);
                } else {
                    patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
                    query.setPatrolInspectorIds(patrolInspectorIds);
                }
                query.setPatrolInspectorIds(patrolInspectorIds);
            }
        }
        if (StringUtils.hasLength(query.getPhonenumber())) {
        if (StringUtils.hasLength(query.getPhonenumber())){
            List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                    sysUser.getPhonenumber().equals(query.getPhonenumber())
                    sysUser.getPhonenumber().contains(query.getPhonenumber())
            ).map(SysUser::getUserId).collect(Collectors.toList());
            if (!query.getPatrolInspectorIds().isEmpty()) {
            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
                // 取交集
                patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
            }
            query.setPatrolInspectorIds(patrolInspectorIds);
            if (patrolInspectorIds.isEmpty()) {
                patrolInspectorIds.add(0L);
            if (patrolInspectorIds.isEmpty()){
                patrolInspectorIds.add(-1L);
            }
            query.setPatrolInspectorIds(patrolInspectorIds);
        }
        LambdaQueryWrapper<TInspector> tTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
        tTaskLambdaQueryWrapper.eq(TInspector::getAuditStatus, 1);
@@ -1252,7 +1327,11 @@
        }
        List<InspectorVO> res = new ArrayList<>();
        List<TInspector> inspectors = inspectorService.list(tTaskLambdaQueryWrapper);
        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList());
        List<String> users = inspectors.stream().map(TInspector::getCommitPerson).collect(Collectors.toList());
        if (users.isEmpty()){
            users.add("0");
        }
        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1&&users.contains(e.getUserId()+"")).collect(Collectors.toList());
        for (SysUser sysUser : sysUsers) {
            InspectorVO inspectorVO = new InspectorVO();
            inspectorVO.setNickName(sysUser.getNickName());
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
@@ -73,47 +73,62 @@
    public R<PageInfo<InspectorListVO>> pageList(@RequestBody InsepectorListQuery query) {
        List<SysUser> sysUsers = sysUserService.selectAllList();
        List<TLocation> locationList = locationService.list();
        if (StringUtils.hasLength(query.getDeptName())){
            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
        if (StringUtils.hasLength(query.getDeptName())) {
            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
            List<String> projectIds = list
                    .stream().map(TProjectDept::getId).collect(Collectors.toList());
            List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                    .stream().map(TDept::getId).collect(Collectors.toList());
            for (TProjectDept projectDept : list) {
                if (projectDept.getParentId().equals("0")){
                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
                    projectIds.addAll(collect);
                }
            }
            projectIds.addAll(deptIds);
            if (projectIds.isEmpty()){
            if (projectIds.isEmpty()) {
                return R.ok(new PageInfo<>());
            }
            if (StringUtils.hasLength(query.getPhonenumber())){
            // 用户ids
            List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
                    .collect(Collectors.toList());
            List<Long> collect1 = sysUsers.stream().filter(e -> e.getDeptType() == 2 && deptIds.contains(e.getDeptId())).map(SysUser::getUserId)
                    .collect(Collectors.toList());
            collect.addAll(collect1);
            if (collect.isEmpty()) {
                return R.ok(new PageInfo<>());
            }
            query.setPatrolInspectorIds(collect);
            if (StringUtils.hasLength(query.getPhonenumber())) {
                List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                        sysUser.getPhonenumber().equals(query.getPhonenumber())
                                && projectIds.contains(sysUser.getDeptId())
                ).map(SysUser::getUserId).collect(Collectors.toList());
                if (patrolInspectorIds.isEmpty()){
                if (patrolInspectorIds.isEmpty()) {
                    return R.ok(new PageInfo<>());
                } else {
                    patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
                    query.setPatrolInspectorIds(patrolInspectorIds);
                }
                query.setPatrolInspectorIds(patrolInspectorIds);
            }
        }
        if (StringUtils.hasLength(query.getPhonenumber())){
            List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                    sysUser.getPhonenumber().equals(query.getPhonenumber())
                    sysUser.getPhonenumber().contains(query.getPhonenumber())
            ).map(SysUser::getUserId).collect(Collectors.toList());
            if (!query.getPatrolInspectorIds().isEmpty()){
            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
                // 取交集
                patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
            }
            query.setPatrolInspectorIds(patrolInspectorIds);
            if (patrolInspectorIds.isEmpty()){
                return R.ok(new PageInfo<>());
            }
            query.setPatrolInspectorIds(patrolInspectorIds);
        }
        if (query.getClearStatus()!=null){
            List<String> collect = tTaskDetailService.lambdaQuery().eq(TTaskDetail::getClearStatus, query.getClearStatus())
                    .list().stream().distinct().map(TTaskDetail::getTaskId).collect(Collectors.toList());
            query.setTaskIds(collect);
            if (collect.isEmpty()){
                return R.ok(new PageInfo<>());
            }
        }
        if (query.getLocationType()!=null){
            List<String> collect = locationList.stream().filter(e -> e.getLocationType().equals(query.getLocationType())).map(TLocation::getId)
                    .collect(Collectors.toList());
@@ -318,6 +333,57 @@
        dto.setAuditPerson(tokenService.getLoginUser().getUserId()+"");
        inspectorService.updateById(dto);
        return R.ok();
//        TInspector byId = inspectorService.getById(dto.getId());
//
//        TTaskAuditDTO tTaskAuditDTO = new TTaskAuditDTO();
//        BeanUtils.copyProperties(dto, tTaskAuditDTO);
//        TLocation location = locationService.getById(byId.getLocationId());
//        TNotice tNotice = new TNotice();
//        TNoticeSet noticeSet = noticeSetService.lambdaQuery().eq(TNoticeSet::getType, 2).last("limit 1")
//                .one();
//        tNotice.setUserId(location.getLocationLeader());
//        tNotice.setStatus(1);
//        tNotice.setDataId(byId.getId());
//        tNotice.setNoticeSetType(noticeSet.getNoticeType());
//        SysUser sysUser = sysUserService.selectUserById(Long.valueOf(location.getLocationLeader()));
//        // 邮箱
//        TDictData email = dictDataService.lambdaQuery().eq(TDictData::getDataType,4).one();
//        // 授权码
//        TDictData code = dictDataService.lambdaQuery().eq(TDictData::getDataType,5).one();
//        if (dto.getAuditStatus()==1){
//            if (byId.getClearStatus()==2){
//                tTaskAuditDTO.setHandleType(3);
//                dto.setStatus(2);
//                // 增加消息
//                tNotice.setNoticeType(8);
//                tNotice.setNoticeContent("【"+location.getLocationName()+"】督察任务不合格,请重新上传!");
//                noticeService.save(tNotice);
//                switch (noticeSet.getNoticeType()) {
//                    case 1:
//                        msgUtils.sendMsg5(sysUser.getPhonenumber(), location.getLocationName());
//                        break;
//                    case 2:
//                        if (StringUtils.hasLength(email.getDataContent()) && StringUtils.hasLength(code.getDataContent())) {
//                            EmailUtils.sendEmail(sysUser.getEmail(), email.getDataContent(), code.getDataContent(), "【"+location.getLocationName()+"】任务督察不合格,请及时整改!");
//                        }
//                        break;
//                    case 3:
//                        break;
//                }
//            }else{
//                if (dto.getAuditTime()!=null){
//                    dto.setStatus(3);
//                }else{
//                    dto.setStatus(4);
//                }
//            }
//        }
//        dto.setAuditTime(LocalDateTime.now());
//        dto.setAuditPerson(tokenService.getLoginUser().getUserId()+"");
//        inspectorService.updateById(dto);
//        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLocationController.java
@@ -141,6 +141,9 @@
        List<String> collect = list.stream().map(TTask::getId).collect(Collectors.toList());
        List<LocationListTaskVO> res = new ArrayList<>();
        if (collect.isEmpty()){
            return R.ok(pageInfo);
        }
        List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class)
                        .in(TTaskDetail::getTaskId,collect)
                .eq(TTaskDetail::getClearStatus, 2)
ruoyi-admin/src/main/resources/application-prod.yml
@@ -73,7 +73,7 @@
    # 端口,默认为6379
    port: 6379
    # 数据库索引
    database: 0
    database: 1
    # 密码
    password: 123456
    # 连接超时时间
@@ -95,9 +95,9 @@
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://192.168.110.64:3306/cleaning_inspection?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
        url: jdbc:mysql://127.0.0.1:10633/cleaning_inspection?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
        username: root
        password: root
        password: bjxj@2025!
      # 从库数据源
      slave:
        # 从数据源开关/默认关闭
@@ -192,7 +192,7 @@
    accessPath: /file/
    allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF
  url:
    prefix: ""
    prefix: http://localhost:${server.port}${server.servlet.context-path}
wx:
  conf:
    appId: wx27937c4532eb9c00
@@ -206,33 +206,17 @@
#OSS及短信配置
code:
  config:
    templateCodeTest: "SMS_154950909"
    signNameTest: "阿里云短信测试"
    templateCodeTest: ""
    signNameTest: ""
    accessKeyId:
    accessKeySecret:
    signName: "四川金达通信工程"
    templateCode: "SMS_293985284"
    signName: ""
    templateCode: ""
cos:
  client:
    accessKey: AKIDCF5EF2c0DE1e5JK8r4EGJF4mNsMgp26x
    accessKey:
    secretKey:
    bucket:
    bucketAddr:
#    bucket: xzgttest-1305134071
#    rootSrc: https://xzgttest-1305134071.cos.ap-chengdu.myqcloud.com/
    rootSrc:
    location: /xizang
sms:
  enable: true
  appId: 1400957506
  secretid: AKIDCF5EF2c0DE1e5JK8r4EGJF4mNsMgp26x
  secretkey: lLl184rUyFOOE0d5KNGC3kmfNsCWk4GU
  sign: 畅云出行
com:
  taxi591:
    bank:
      cer-path: /usr/local/bank/TrustPay.cer
      base-url: http://hello.enjoy.abchina.com
      enable: true
      keystore-password: gggs6666
      pfx-path: /usr/local/bank/103882597000441.pfx
    location: /clean
ruoyi-admin/src/main/resources/application.yml
@@ -1,4 +1,4 @@
# 项目相关配置
spring:
  profiles:
    active: test
    active: prod
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java
@@ -412,6 +412,36 @@
        }
        return R.ok(taskDetailVO);
    }
    @ApiOperation(value = "督察任务-详情任务")
    @GetMapping(value = "/detaiInspectorl")
    public R<InspectorDetailVO> detaiInspectorl(@RequestParam String id) {
        InspectorDetailVO taskDetailVO = new InspectorDetailVO();
        TInspector inspector = inspectorService.getById(id);
        TLocation location = locationService.getById(inspector.getLocationId());
        TLocationType locationType = locationTypeService.getById(location.getLocationType());
        taskDetailVO.setLocationAddress(location.getLocationAddress());
        taskDetailVO.setLocationAddressEnd(location.getLocationAddressEnd());
        taskDetailVO.setLocationIcon(locationType.getLocationIcon());
        taskDetailVO.setLocationName(locationType.getLocationName());
        taskDetailVO.setLocationTypeName(locationType.getLocationName());
        taskDetailVO.setLocationLonEnd(location.getLocationLonEnd());
        taskDetailVO.setLocationLatEnd(location.getLocationLatEnd());
        taskDetailVO.setLocationLon(location.getLocationLon());
        taskDetailVO.setLocationLat(location.getLocationLat());
        taskDetailVO.setLocationName(location.getLocationName());
        taskDetailVO.setId(inspector.getId());
        taskDetailVO.setClearStatus(inspector.getClearStatus());
        taskDetailVO.setUnqualified(inspector.getUnqualified());
        taskDetailVO.setRemark(inspector.getAuditRemark());
        taskDetailVO.setPicture(inspector.getPicture());
        taskDetailVO.setAudioUrl(inspector.getAudioUrl());
        taskDetailVO.setStatus(inspector.getStatus());
        taskDetailVO.setAuditPerson(inspector.getAuditPerson());
        taskDetailVO.setAuditTime(inspector.getAuditTime());
        taskDetailVO.setAuditStatus(inspector.getAuditStatus());
        taskDetailVO.setAuditRemark(inspector.getAuditRemark());
        return R.ok(taskDetailVO);
    }
    @ApiOperation(value = "详情任务-操作记录-详情")
    @GetMapping(value = "/detailRecord")
@@ -504,6 +534,12 @@
        );
        return R.ok(list);
    }
    @ApiOperation(value = "点位列表")
    @PostMapping(value = "/locationList")
    public R<List<TLocation>> locationList() {
        List<TLocation> locations = locationService.list();
        return R.ok(locations);
    }
    @ApiOperation(value = "上传督察任务")
    @PostMapping(value = "/addInspector")
ruoyi-applet/src/main/resources/application-prod.yml
@@ -70,20 +70,13 @@
  # redis 配置
  redis:
    # 地址
#    host: 127.0.0.1
#    # 端口,默认为6379
#    port: 6379
#    # 数据库索引
#    database: 0
#    # 密码
#    password: 123456
    host: 127.0.0.1
    # 端口,默认为6379
    port: 16379
    port: 6379
    # 数据库索引
    database: 0
    database: 1
    # 密码
    password: 8f5z9g52gx4bg
    password: 123456
    # 连接超时时间
    timeout: 10s
    lettuce:
@@ -103,9 +96,9 @@
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://192.168.110.64:3306/cleaning_inspection?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
        url: jdbc:mysql://127.0.0.1:10633/cleaning_inspection?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai
        username: root
        password: root
        password: bjxj@2025!
      # 从库数据源
      slave:
        # 从数据源开关/默认关闭
@@ -200,7 +193,7 @@
    accessPath: /file/
    allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF
  url:
    prefix: ""
    prefix: http://localhost:${server.port}${server.servlet.context-path}
wx:
  conf:
    appId: wx27937c4532eb9c00
@@ -211,26 +204,4 @@
    pendApprovalTemplateId: rP4qq4LvisYTOSh14qoIalSWcL0ZpR_NrNHYwoxn8iY # 待审核提醒
    makeCopyTemplateId: JliafsC5BfjudMSrFw8YT4mnXQ1mbdHg3dRHsKUMoFU # 审核抄送通知
    problemRectificationTemplateId: _OEwRxqNZevSKryp4AU62a-yzbX16kIdliUVbbc8q-E # 问题整改通知
#OSS及短信配置
code:
  config:
    templateCodeTest: "SMS_154950909"
    signNameTest: "阿里云短信测试"
    accessKeyId: LTAI5tAdba8HtT1C6UqtSxBt
    accessKeySecret: 0SRb6XGkciQDPWn2rYqbJtq2qRMDY8
    signName: "四川金达通信工程"
    templateCode: "SMS_293985284"
cos:
  client:
    accessKey: AKIDCF5EF2c0DE1e5JK8r4EGJF4mNsMgp26x
    secretKey: lLl184rUyFOOE0d5KNGC3kmfNsCWk4GU
    bucket: xzgt-1305134071
    bucketAddr: ap-chengdu
    rootSrc: https://xzgt-1305134071.cos.ap-chengdu.myqcloud.com
    location: /xizang
sms:
  enable: true
  appId: 1400957506
  secretid: AKIDCF5EF2c0DE1e5JK8r4EGJF4mNsMgp26x
  secretkey: lLl184rUyFOOE0d5KNGC3kmfNsCWk4GU
  sign: 畅云出行
ruoyi-applet/src/main/resources/application-test.yml
@@ -74,7 +74,7 @@
    # 端口,默认为6379
    port: 6379
    # 数据库索引
    database: 0
    database: 1
    # 密码
    password: 123456
    # 连接超时时间
ruoyi-applet/src/main/resources/application.yml
@@ -1,4 +1,4 @@
# 项目相关配置
spring:
  profiles:
    active: test
    active: prod
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -34,6 +34,8 @@
import org.springframework.util.CollectionUtils;
import javax.validation.Validator;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -668,12 +670,17 @@
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        LocalDate now = LocalDate.now();
        // 转化为yyyy-MM-dd字符串格式
        String nowStr = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        String start = nowStr+" :00:00:00";
        String end = nowStr+" :23:59:59";
        for (SysUserVO sysUserVO : list) {
            TLeave tLeave = leaveMapper.selectOne(new LambdaQueryWrapper<TLeave>()
                    .eq(TLeave::getLeavePerson, sysUserVO.getUserId())
                    .eq(TLeave::getAuditStatus, 2)
                    .ge(TLeave::getStartTime, DateUtils.getNowDate())
                    .le(TLeave::getEndTime, DateUtils.getNowDate())
                    .ge(TLeave::getStartTime, start)
                    .le(TLeave::getEndTime, end)
                    .last("limit 1"));
            if (tLeave!=null){
                sysUserVO.setLeaveName("请假中");
@@ -697,7 +704,11 @@
                        TProjectDept tProjectDept = projectDeptMapper.selectById(sysUserVO.getDeptId());
                        if (!tProjectDept.getParentId().equals("0")){
                            TProjectDept tProjectDept1 = projectDeptMapper.selectById(tProjectDept.getParentId());
                            sysUserVO.setDeptName(tProjectDept1.getProjectName()+">"+tProjectDept.getProjectName());
                            if (tProjectDept1!=null){
                                sysUserVO.setDeptName(tProjectDept1.getProjectName()+">"+tProjectDept.getProjectName());
                            }else{
                                sysUserVO.setDeptName(tProjectDept.getProjectName());
                            }
                        }else{
                            sysUserVO.setDeptName(tProjectDept.getProjectName());
                        }
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInspectorServiceImpl.java
@@ -44,9 +44,7 @@
        PageInfo<InspectorListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<InspectorListVO> list = this.baseMapper.pageList(query,pageInfo);
        List<TTaskDetail> tTaskDetails = taskDetailMapper.selectList(new LambdaQueryWrapper<TTaskDetail>()
                .orderByDesc(BaseModel::getCreateTime)
                .in(TTaskDetail::getHandleType, Arrays.asList(1,4)));
        List<TTask> tTasks = taskMapper.selectList(null);
        for (InspectorListVO taskListVO : list) {
            TTask tTask = tTasks.stream().filter(e -> e.getId().equals(taskListVO.getTaskId())).findFirst().orElse(null);
@@ -61,19 +59,19 @@
                        }
                    }else{
                        TProjectDept tProjectDept = projectDeptMapper.selectById(tTask.getPatrolInspectorDept());
                        if (tProjectDept!=null){
                            taskListVO.setDeptName(tProjectDept.getProjectName());
                        TProjectDept tProjectDept = projectDeptMapper.selectById(sysUser.getDeptId());
                        if (tProjectDept != null) {
                            if (!tProjectDept.getParentId().equals("0")) {
                                TProjectDept tProjectDept1 = projectDeptMapper.selectById(tProjectDept.getParentId());
                                if (tProjectDept1 != null) {
                                    taskListVO.setDeptName(tProjectDept1.getProjectName() + ">" + tProjectDept.getProjectName());
                                }
                            } else {
                                taskListVO.setDeptName(tProjectDept.getProjectName());
                            }
                        }
                    }
                }
                TTaskDetail tTaskDetail = tTaskDetails.stream().filter(e -> e.getTaskId().equals(taskListVO.getId())).findFirst().orElse(null);
                if (tTaskDetail!=null){
                    taskListVO.setPicture(tTaskDetail.getPicture());
                    taskListVO.setClearStatus(tTaskDetail.getClearStatus());
                }
            }
        }
        pageInfo.setRecords(list);
ruoyi-system/src/main/java/com/ruoyi/system/vo/system/InspectorDetailVO.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.system.vo.system;
import com.ruoyi.system.model.TInspector;
import com.ruoyi.system.model.TTask;
import com.ruoyi.system.model.TTaskDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "督察任务详情VO")
public class InspectorDetailVO extends TInspector {
    @ApiModelProperty("起点位置")
    private String locationAddress;
    @ApiModelProperty("结束位置")
    private String locationAddressEnd;
    @ApiModelProperty("点位类型图标")
    private String locationIcon;
    @ApiModelProperty("点位名称")
    private String locationName;
    @ApiModelProperty("点位类型名称")
    private String locationTypeName;
    @ApiModelProperty(value = "点位经度 终点")
    private String locationLonEnd;
    @ApiModelProperty(value = "点位纬度 终点")
    private String locationLatEnd;
    @ApiModelProperty(value = "点位经度 起点")
    private String locationLon;
    @ApiModelProperty(value = "点位纬度 起点")
    private String locationLat;
}
ruoyi-system/src/main/resources/mapper/system/TInspectorMapper.xml
@@ -61,6 +61,9 @@
        <if test="query.status != null">
            and t1.status = #{query.status}
        </if>
          <if test="query.clearStatus != null">
            and t1.clear_status = #{query.clearStatus}
        </if>
        <if test="query.startTime != null and query.startTime != ''">
            and (t1.create_time between #{query.startTime} and #{query.endTime})
        </if>