liujie
2025-07-04 f332c00b763dcc0417492bd46244e9c56428a368
2.0新增 和修改bug
11个文件已修改
187 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/MgtComplaintController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/SystemUserController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/aspectj/OperLogAspect.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/controller/ComplaintController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/controller/HomeController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/dao/ComplaintMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/vo/ComplaintVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/IComplaintService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/warpper/MgtComplaintQuery.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/resources/mapper/ComplaintMapper.xml 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/MgtComplaintController.java
@@ -71,7 +71,19 @@
        List<DispatchVO> dispatchVOList = new ArrayList<>();
        Integer oneDepartmentId = systemUser.getOneDepartmentId();
        Department byId = departmentService.getById(oneDepartmentId);
        List<Department> list1 = departmentService.list(new LambdaQueryWrapper<Department>().eq(Department::getTier, byId.getTier()));
        LambdaQueryWrapper<Department> eq = new LambdaQueryWrapper<Department>().eq(Department::getTier, byId.getTier());
        if(byId.getTier()==2){
            eq.eq(Department::getDistrictsCode, byId.getDistrictsCode());
        }
        if(byId.getTier()==3){
            eq.eq(Department::getStreetId, byId.getStreetId());
        }
        if(byId.getTier()==4){
            eq.eq(Department::getCommunityId, byId.getCommunityId());
        }
        List<Department> list1 = departmentService.list(eq);
        for (Department department : list1) {
            DispatchVO dispatchVO = new DispatchVO();
            dispatchVO.setId(department.getId().toString());
@@ -156,7 +168,7 @@
    @ApiOperation("诉求详情")
    @GetMapping("/detail/{id}")
    public R<ComplaintVO> detail(Long id) {
    public R<ComplaintVO> detail(@PathVariable("id") Long id) {
        SystemUserVo loginUserInfoWest = getLoginUserInfoWest();
        LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
        loginUserInfoVO.setPhone(loginUserInfoWest.getPhone());
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/SystemUserController.java
@@ -120,13 +120,13 @@
        Set<String> collect1 = new HashSet<>();
        if(collect.size() > 0){
            LambdaQueryWrapper<SystemMenu> queryWrapper = new LambdaQueryWrapper<SystemMenu>().in(SystemMenu::getId, collect);
            if(systemUser.getSystemRoleId()!=1){
            if(systemUser.getSystemRoleId()!=1 || systemUser.getAccountLevel()!=2){
                queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
                        "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
                        "/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
                        "/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
                        "/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
                        "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del","/complaint/assign"));
                        "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del","/complaint/assign","/complaint/assign/list","/complaint/assign/assign","/complaint/assign/export"));
            }
            List<SystemMenu> systemMenus = systemMenuService.list(queryWrapper);
            collect1 = systemMenus.stream().map(SystemMenu::getUrl).collect(Collectors.toSet());
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/aspectj/OperLogAspect.java
@@ -1,5 +1,6 @@
package com.panzhihua.westcommittee.aspectj;
import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.west.SystemUserVo;
@@ -11,6 +12,8 @@
import com.panzhihua.westcommittee.warpper.EditSystemRole;
import com.panzhihua.westcommittee.warpper.PartyMemberDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.Md5Crypt;
import org.apache.tomcat.util.security.MD5Encoder;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
@@ -263,6 +266,5 @@
            e.printStackTrace();
        }
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/controller/ComplaintController.java
@@ -64,8 +64,8 @@
    @ApiOperation(value = "录入诉求")
    @DistributedLock(lockName = "complaint_serial_number_lock")
    public R<?> save(@Valid @RequestBody Complaint complaint) {
        complaintService.saveComplaint(complaint, getLoginUserInfo());
        return R.ok();
        String time = complaintService.saveComplaint(complaint, getLoginUserInfo());
        return R.ok(time);
    }
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/controller/HomeController.java
@@ -178,4 +178,12 @@
        return R.ok();
    }
    @GetMapping("/getComplaintTip")
    @ApiOperation("管理员获取提示弹窗")
    public R<?> getComplaintTip() {
        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
        return R.ok(complaintService.getComplaintTip(loginUserInfo));
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/dao/ComplaintMapper.java
@@ -153,4 +153,7 @@
    List<Complaint> queryCompliantList(@Param("accountLevel") Integer accountLevel, @Param("systemRoleId") Integer systemRoleId, @Param("query") AppStaticsQuery query);
    Integer getWaitAssign(@Param("accountLevel") Integer accountLevel, @Param("code") String code);
}
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/model/vo/ComplaintVO.java
@@ -37,6 +37,9 @@
    @ApiModelProperty(value = "上报人联系方式")
    private String reporterPhone;
    @ApiModelProperty(value = "上报人所属部门")
    private String reporterDepartmentName;
    @ApiModelProperty(value = "所属部门 (处理人)")
    private String departmentName;
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/IComplaintService.java
@@ -23,6 +23,7 @@
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -33,7 +34,7 @@
 * @since 2025-02-22
 */
public interface IComplaintService extends IService<Complaint> {
    void saveComplaint(Complaint complaint,LoginUserInfoVO loginUserInfoVO);
    String saveComplaint(Complaint complaint,LoginUserInfoVO loginUserInfoVO);
    /**
     * 诉求列表
@@ -264,6 +265,7 @@
    void setProblemType(LoginUserInfoVO loginUserInfo, SetProblemTypeDto dto);
    Map<String,Integer> getComplaintTip(LoginUserInfoVO loginUserInfo);
}
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java
@@ -83,7 +83,8 @@
    private final RedisUtils redisUtils;
    @Override
    public void saveComplaint(Complaint complaint, LoginUserInfoVO loginUserInfoVO) {
    public String saveComplaint(Complaint complaint, LoginUserInfoVO loginUserInfoVO) {
        String timeStr = null;
        // 获取当前日期(年月日)
        String datePrefix = new SimpleDateFormat("yyyyMMdd").format(new Date());
@@ -188,6 +189,10 @@
                complaint.setReportUserName(loginUserInfoVO.getName());
                complaint.setReportUserPhone(loginUserInfoVO.getPhone());
                complaint.setSuperiorId(loginUserInfoVO.getCommunityId());
                LocalDate localDate = LocalDate.now().plusDays(workOrderItemConfigService.getById(1).getCommunityHandlingTime());
                timeStr = localDate.toString();
            }
@@ -220,6 +225,7 @@
        complaint.setNowLevelSms(0);
        // 保存诉求记录
        save(complaint);
        return timeStr;
    }
    @Override
@@ -246,6 +252,7 @@
        complaintCompletionDTO.setId(complaint.getId());
        saveResult(complaintCompletionDTO, loginUserInfo);
    }
    @Override
    public Page<ComplaintVO> complaintList(ComplaintQuery query, LoginUserInfoVO loginUserInfoVO) {
@@ -686,52 +693,48 @@
        if (systemUser != null) {
            ComplaintAuditRecord one = complaintAuditRecordService.getOne(new LambdaQueryWrapper<ComplaintAuditRecord>().eq(ComplaintAuditRecord::getComplaintId, id).eq(ComplaintAuditRecord::getLatestFlag, 1).last("limit 1"));
            if (systemUser.getAccountLevel() == 2) {
                if (detail.getNowLevel() == 2 && detail.getAssignStatus() == 0 && one != null && one.getAuditStatus() == 1) {
                if (detail.getStatus() != 3 && detail.getStatus() != 8 && detail.getNowLevel() == 2 && detail.getAssignStatus() == 0 && ((one != null && one.getAuditStatus() == 1)||(one != null && one.getAuditStatus() == 3)  || one==null )) {
                    detail.setStatus(-1);
                }
                if (systemUser.getSystemRoleId() == 0) {
                }else if (systemUser.getSystemRoleId() == 0) {
                    // 查是否是当前层级处理  不是则都是正在办理
                    if (detail.getNowLevel() != 4 && detail.getStatus() != 3 && detail.getStatus() != 8) {
                        detail.setStatus(0);
                    }
                }
                if (detail.getFirstStatus() == 0) {
                }else if (detail.getStatus() != 3 && detail.getStatus() != 8 && detail.getFirstStatus() == 0 && detail.getNowLevel()==2) {
                    detail.setStatus(5);
                }
            }
            if (systemUser.getAccountLevel() == 3) {
                if (detail.getNowLevel() == 3 && detail.getAssignStatus() == 0 && one != null && one.getAuditStatus() == 1) {
                if (detail.getStatus() != 3 && detail.getStatus() != 8 &&  detail.getNowLevel() == 3 && detail.getAssignStatus() == 0 && ((one != null && one.getAuditStatus() == 1)||(one != null && one.getAuditStatus() == 3)  || one==null )) {
                    detail.setStatus(-1);
                }
                if (systemUser.getSystemRoleId() == 0) {
                }else if (systemUser.getSystemRoleId() == 0) {
                    // 查是否是当前层级处理  不是则都是正在办理
                    if (detail.getNowLevel() != 3 && detail.getStatus() != 3 && detail.getStatus() != 8) {
                        detail.setStatus(0);
                    }
                }
                if (detail.getFirstStatus() == 0) {
                }else if (detail.getStatus() != 3 && detail.getStatus() != 8 &&  detail.getFirstStatus() == 0  && detail.getNowLevel()==3) {
                    detail.setStatus(5);
                }
            }
            if (systemUser.getAccountLevel() == 4) {
                if (detail.getNowLevel() == 4 && detail.getAssignStatus() == 0 && one != null && one.getAuditStatus() == 1) {
                if (detail.getStatus() != 3 && detail.getStatus() != 8 &&  detail.getNowLevel() == 4 && detail.getAssignStatus() == 0 &&  ((one != null && one.getAuditStatus() == 1)||(one != null && one.getAuditStatus() == 3)  || one==null )) {
                    detail.setStatus(-1);
                }
                if (systemUser.getSystemRoleId() == 0) {
                }else if (systemUser.getSystemRoleId() == 0) {
                    // 查是否是当前层级处理  不是则都是正在办理
                    if (detail.getNowLevel() != 4 && detail.getStatus() != 3 && detail.getStatus() != 8) {
                        detail.setStatus(0);
                    }
                }
                if (detail.getFirstStatus() == 0) {
                }else if (detail.getStatus() != 3 && detail.getStatus() != 8 &&  detail.getFirstStatus() == 0  && detail.getNowLevel()==4) {
                    detail.setStatus(5);
                }
            }
        } else {
            if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) {
                detail.setStatus(0);
            } else if (detail.getFirstStatus() == 0) {
            } else if (detail.getFirstStatus() == 0 && detail.getCreateBy().equals(loginUserInfoVO.getUserId())) {
                detail.setStatus(5);
            } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 3) {
                detail.setStatus(3);
@@ -754,9 +757,9 @@
        buttonPermission(detail, systemUserByPhone, loginUserInfoVO);
        Long reporterId = detail.getReporterId();
        Long superiorId = detail.getSuperiorId2();
        if (!String.valueOf(reporterId).equals(targetId) && !String.valueOf(superiorId).equals(targetId) && detail.getStatus() == 5) {
            detail.setStatus(0);
        }
//        if (!String.valueOf(reporterId).equals(targetId) && !String.valueOf(superiorId).equals(targetId) && detail.getStatus() == 5 && systemUser==null) {
//            detail.setStatus(0);
//        }
//        if (auditButtonStatus == 1 && detail.getStatus() == 5 && !Objects.equals(detail.getAuditCreateBy(), loginUserInfoVO.getUserId())){
@@ -777,12 +780,10 @@
                }
            }
        }
        return detail;
    }
    @Override
@@ -1490,7 +1491,17 @@
        }
        Integer oneDepartmentId = adminUser.getOneDepartmentId();
        Department byId = departmentService.getById(oneDepartmentId);
        List<Department> list1 = departmentService.list(new LambdaQueryWrapper<Department>().eq(Department::getTier, byId.getTier()));
        LambdaQueryWrapper<Department> eq = new LambdaQueryWrapper<Department>().eq(Department::getTier, byId.getTier());
        if(byId.getTier()==2){
            eq.eq(Department::getDistrictsCode, byId.getDistrictsCode());
        }
        if(byId.getTier()==3){
            eq.eq(Department::getStreetId, byId.getStreetId());
        }
        if(byId.getTier()==4){
            eq.eq(Department::getCommunityId, byId.getCommunityId());
        }
        List<Department> list1 = departmentService.list(eq);
        for (Department department : list1) {
            DispatchVO dispatchVO = new DispatchVO();
            dispatchVO.setId(department.getId().toString());
@@ -1678,6 +1689,7 @@
                .registerWriteHandler(new AutoColumnWidthStrategy())
                .doWrite(complaintExcels);
    }
//    ComplaintVO(reporter=何健豪, reporterId=1676144498628919300, superiorId2=510403, auditCreateBy=1892421828085837826, reporterLevel=2, reporterPhone=null, departmentName=西区-金江镇, reportTime=Tue Jun 03 15:06:01 CST 2025, comment=1111, nickname=null, phone=null, auditorName=null, auditorPhone=null, rejectReason=null, auditTime=null, complaintFlows=null, complaintProgresses=null, auditButtonStatus=null, withdrawButtonStatus=null, rate=null, complaintComment=null, listControlsButtonStatus=null, evaluateButtonStatus=0, voiceFileList=null, progressCount=null, assignmentCount=null, reportCount=null, remindStatus=0, remindTime=null, reportStr=自办, deptName=aa)
//    ComplaintVO(reporter=null, reporterId=null, superiorId2=null, auditCreateBy=null, reporterLevel=null, reporterPhone=null, departmentName=null, reportTime=null, comment=null, nickname=null, phone=null, auditorName=null, auditorPhone=null, rejectReason=null, auditTime=null, complaintFlows=null, complaintProgresses=null, auditButtonStatus=null, withdrawButtonStatus=null, rate=null, complaintComment=null, listControlsButtonStatus=null, evaluateButtonStatus=0, voiceFileList=null, progressCount=null, assignmentCount=null, reportCount=null, remindStatus=0, remindTime=null, reportStr=自办, deptName=aa)
//    ComplaintVO(reporter=刘, reporterId=1552661132500668416, superiorId2=510403, auditCreateBy=1892403820151992322, reporterLevel=2, reporterPhone=null, departmentName=西区-格里坪镇, reportTime=Fri Jun 27 10:04:18 CST 2025, comment=null, nickname=null, phone=null, auditorName=null, auditorPhone=null, rejectReason=null, auditTime=null, complaintFlows=null, complaintProgresses=null, auditButtonStatus=null, withdrawButtonStatus=null, rate=null, complaintComment=null, listControlsButtonStatus=null, evaluateButtonStatus=0, voiceFileList=null, progressCount=null, assignmentCount=null, reportCount=null, remindStatus=0, remindTime=null, reportStr=自办, deptName=null)
@@ -1976,9 +1988,11 @@
    public static void main(String[] args) {
        LocalDate localDate = LocalDate.now().plusDays(2);
        String time = "2022-02-02 - 2023-02-02";
        String[] split = time.split(" - ");
        System.out.println(split[0]);
        System.out.println(localDate.toString());
    }
    @Override
@@ -2293,5 +2307,34 @@
        updateById(complaint);
    }
    @Override
    public Map<String, Integer> getComplaintTip(LoginUserInfoVO loginUserInfo) {
        HashMap<String, Integer> map = new HashMap<>();
        IdentityInformation currentIdentityInformation = identityInformationService.getCurrentIdentityInformation(loginUserInfo);
        SystemUser systemUser = currentIdentityInformation.getSystemUser();
        if (systemUser.getSystemRoleId() == 1) {
            Integer accountLevel =systemUser.getAccountLevel();
            String code = null;
            switch (accountLevel) {
                case 2:
                    break;
                case 3:
                    code =systemUser.getStreetId();
                    break;
                case 4:
                    code =systemUser.getCommunityId().toString();
                    break;
                default:
                    throw new ServiceException("无此权限");
            }
            // 待分配
            map.put("waitAssign", this.baseMapper.getWaitAssign(accountLevel,code));
            // 待处理
            int count = this.count(new LambdaQueryWrapper<Complaint>().eq(Complaint::getAssignPersonId, systemUser.getOneDepartmentId()).notIn(Complaint::getStatus, 3, 8));
            map.put("waitProcess", count);
        }
        return map;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/warpper/MgtComplaintQuery.java
@@ -11,7 +11,7 @@
 * @date 2025/3/15
 */
@Data
@ApiModel("管理后台诉求管理查询数据传输对象")
@ApiModel("管理后台诉求管理查询数据传输对象1")
public class MgtComplaintQuery extends BasePage {
    @ApiModelProperty(value = "接件人")
    private String reportUserName;
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/resources/mapper/ComplaintMapper.xml
@@ -282,9 +282,9 @@
        sc.images,
        sc.videos,
        case
        WHEN  sc.now_level = 2  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status is null) THEN -1
        WHEN  sc.now_level = 2  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status=3 or scar.audit_status is null) and sc.`status` !=8  and sc.`status` !=3 THEN -1
        WHEN  sc.now_level = 2 and sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
        WHEN  sc.now_level = 2 and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
        WHEN  (sc.now_level = 2 and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0) or (sc.now_level = 2 and sc.status = 0 and sc.first_status =0)  THEN 5
        WHEN  sc.now_level = 2 and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6
        WHEN sc.`status` =8 THEN 3
        WHEN sc.`status` =3 THEN 3
@@ -1031,9 +1031,9 @@
            sc.images,
            sc.videos,
        case
        WHEN  sc.now_level = 2  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status is null) THEN -1
        WHEN  sc.now_level = 2  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status=3 or scar.audit_status is null) and sc.`status` !=8 and sc.`status` !=3 THEN -1
        WHEN  sc.now_level = 2 and sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
        WHEN  sc.now_level = 2 and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
        WHEN  (sc.now_level = 2 and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0) or (sc.now_level = 2 and sc.status = 0 and sc.first_status = 0) THEN 5
        WHEN  sc.now_level = 2 and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6
        WHEN sc.`status` =8 THEN 3
        WHEN sc.`status` =3 THEN 3
@@ -1106,11 +1106,11 @@
            sc.videos,
        case
        WHEN  (sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
        WHEN   (sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
        WHEN   ((sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0) or ((sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and sc.first_status = 0) THEN 5
        WHEN   (sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6
        WHEN sc.`status` =8 THEN 3
        WHEN sc.`status` =3 THEN 3
        WHEN  sc.now_level = 3  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status is null) THEN -1
        WHEN  sc.now_level = 3  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status=3 or scar.audit_status is null) and sc.`status` !=8 and sc.`status` !=3 THEN -1
        ELSE 0
        END AS status,
        CASE
@@ -1252,13 +1252,12 @@
        sc.images,
        sc.videos,
        case
        WHEN  sc.now_level = 4 and  sc.assign_status = 0 THEN -1
        WHEN  sc.now_level = 4 and  sc.assign_status = 0  and  (scar.audit_status=1 or scar.audit_status=3 or scar.audit_status is null) and sc.`status` !=8 and sc.`status` !=3 THEN -1
        WHEN  (sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
        WHEN  (sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
        WHEN  ((sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0) or ((sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and sc.first_status =0)  THEN 5
        WHEN  (sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6
        WHEN sc.`status` =8 THEN 3
        WHEN sc.`status` =3 THEN 3
        WHEN sc.assign_status = 0   THEN -1
        ELSE 0
        END AS status,
        CASE
@@ -1534,11 +1533,11 @@
        sc.videos,
        case
        WHEN  (sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
        WHEN   (sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
        WHEN   ((sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0) or ((sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and sc.first_status = 0) THEN 5
        WHEN   (sc.now_level = 3 or sc.last_level = 3) and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6
        WHEN sc.`status` =8 THEN 3
        WHEN sc.`status` =3 THEN 3
        WHEN  sc.now_level = 3  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status is null) THEN -1
        WHEN  sc.now_level = 3  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status=3 or scar.audit_status is null) and sc.`status` !=8 and sc.`status` !=3 THEN -1
        ELSE 0
        END AS status,
        CASE
@@ -1665,9 +1664,9 @@
                              sc.images,
                              sc.videos,
                              case
                                  WHEN  sc.now_level = 4 and  sc.assign_status = 0 THEN -1
                                  WHEN  sc.now_level = 4 and  sc.assign_status = 0  and  (scar.audit_status=1 or scar.audit_status=3 or scar.audit_status is null) and sc.`status` !=8 and sc.`status` !=3 THEN -1
                                  WHEN  (sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_type = 1 AND scar.audit_status = 0 THEN 7
                                  WHEN  (sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0 THEN 5
                                  WHEN  ((sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_type = 2 AND scar.audit_status = 0) or ((sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and sc.first_status = 0) THEN 5
                                  WHEN  (sc.now_level = 4 or sc.last_level = 4) and sc.status = 0 and scar.audit_status = 2 and scar.audit_type = 2 THEN 6
                                  WHEN sc.`status` =8 THEN 3
                                  WHEN sc.`status` =3 THEN 3
@@ -2171,4 +2170,23 @@
        </if>
        ORDER BY t1.create_time DESC
    </select>
    <select id="getWaitAssign" resultType="java.lang.Integer">
        select count(*) from (
        SELECT
        sc.id,
        sc.problem_type,
        case
        WHEN  sc.now_level = #{accountLevel}  and sc.assign_status =0 and  (scar.audit_status=1 or scar.audit_status is null) THEN -1
        ELSE 0
        END AS status,
            sc.now_level,
            sc.superior_id
        FROM west_complaint sc
        LEFT JOIN west_complaint_audit_record scar ON scar.complaint_id = sc.id and scar.latest_flag = 1
        ) as t1 where t1.status = -1
            and t1.problem_type != '检举'
                <if test="accountLevel!=2">
                    and t1.superior_id = #{code}
                </if>
    </select>
</mapper>