mitao
2025-03-14 08f1b1f1804a8bd833d42f257908d80e88387b55
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
@@ -371,6 +371,9 @@
        //complaint.setReportType(+);
        complaint.setSuperiorType(reportType);
        complaint.setSuperiorId(superiorId);
        if (complaint.getStatus() != 0) {
            complaint.setStatus(0);
        }
        updateById(complaint);
        // 标记最新
@@ -441,9 +444,16 @@
        updateById(complaint);
        Long superiorOrgId = complaint.getSuperiorId();
        Integer superiorType = complaint.getSuperiorType();
        //查询当前单位审核记录表数据
        //查询上报审核记录
        ComplaintAuditRecord complaintAuditRecord = complaintAuditRecordService.lambdaQuery()
                .eq(ComplaintAuditRecord::getComplaintId, dto.getComplaintId())
                .eq(ComplaintAuditRecord::getAuditType, 0)
                .eq(ComplaintAuditRecord::getLatestFlag, true)
                .eq(ComplaintAuditRecord::getReportType, adminUser.getAccountLevel())
                .last("LIMIT 1").one();
        // 添加流转记录
        complaintFlowService.createFlow(dto.getComplaintId(), superiorOrgId, superiorType, 1, loginUserInfoVO.getUserId());
        complaintFlowService.createFlow(complaintAuditRecord, 1,loginUserInfoVO.getUserId());
        // 标记最新
        complaintAuditRecordService.update(new LambdaUpdateWrapper<ComplaintAuditRecord>()
@@ -499,6 +509,12 @@
                .eq(ComplaintAuditRecord::getReportType, systemUser.getAccountLevel())
                .eq(ComplaintAuditRecord::getSuperiorId, superiorId)
                .last("LIMIT 1").one();
        ComplaintAuditRecord lowLevelRecord = complaintAuditRecordService.lambdaQuery()
                .eq(ComplaintAuditRecord::getComplaintId, complaintReporAuditDTO.getId())
                .eq(ComplaintAuditRecord::getAuditType, 2)
                .eq(ComplaintAuditRecord::getLatestFlag, true)
                .eq(ComplaintAuditRecord::getReportType, systemUser.getAccountLevel()+1)
                .last("LIMIT 1").one();
        if (Objects.isNull(complaintAuditRecord)) {
            throw new ServiceException("上报申请记录不存在");
        }
@@ -531,14 +547,8 @@
            record.setSuperiorId(superiorId);
            record.setSort(count + 1);
            complaintAuditRecordService.save(record);
            if (Objects.nonNull(complaint.getSuperiorId())) {
                complaintFlowService.createFlow(complaintAuditRecord.getComplaintId(), complaint.getSuperiorId(), complaint.getSuperiorType(), 0, loginUserInfoVO.getUserId());
            } else {
                complaintFlowService.createFlow(complaintAuditRecord.getComplaintId(), complaint.getCreateBy(), complaint.getReportType(), 0, loginUserInfoVO.getUserId());
            }
            //创建流程
            complaintFlowService.createFlow(lowLevelRecord ,0, loginUserInfoVO.getUserId());
        } else {
            switch (systemUser.getAccountLevel() + 1) {
@@ -588,7 +598,7 @@
        int reportType;
        if (systemUser == null) {
            superiorId = loginUserInfoVO.getCommunityId();
            currentId = loginUserInfoVO.getCommunityId();
            currentId = loginUserInfoVO.getUserId();
            if (Objects.isNull(superiorId)) {
                throw new ServiceException("上报失败,请绑定社区");
            }
@@ -610,6 +620,9 @@
            } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) {
                superiorId = 510400L; // 攀枝花市
                currentId = Long.parseLong(systemUser.getDistrictsCode());
            } else if (accountLevel == ReportTypeEnum.PARTY.getCode()) {
                superiorId = systemUser.getCommunityId();
                currentId = loginUserInfoVO.getUserId();
            } else {
                // 处理未预期的账号等级
                throw new ServiceException("未知的账号等级");
@@ -641,6 +654,7 @@
        record1.setReportType(Objects.isNull(systemUser) ? 5 : systemUser.getAccountLevel());
        record1.setSuperiorId(currentId);
        record1.setSort(count + 1);
        record1.setComment(dto.getComment());
        complaintAuditRecordService.save(record1);
        ComplaintAuditRecord record2 = new ComplaintAuditRecord();
@@ -656,6 +670,7 @@
        record2.setReportType(reportType);
        record2.setSuperiorId(superiorId);
        record2.setSort(count + 2);
        record1.setComment(dto.getComment());
        complaintAuditRecordService.save(record2);
    }
@@ -696,7 +711,7 @@
        //complaintAuditRecordService.audit(complaintAuditRecord, loginUserInfoVO.getUserId(),
        //        dto.getAuditResult(), dto.getRejectReason());
        //审核通过后,设置诉求延期
        if (complaintAuditRecord.getAuditType().equals(1) && complaintAuditRecord.getAuditStatus().equals(1)) {
        if (complaintAuditRecord.getAuditType().equals(1) && complaintAuditRecord.getAuditStatus().equals(0) && dto.getAuditResult().equals(1)) {
            Complaint complaint = getById(complaintAuditRecord.getComplaintId());
            complaint.setStatus(1);
            updateById(complaint);
@@ -710,9 +725,9 @@
        ComplaintAuditRecord record1 = new ComplaintAuditRecord();
        record1.setComplaintId(dto.getComplaintId());
        record1.setLatestFlag(true);
        record1.setAuditType(2);
        record1.setAuditType(1);
        record1.setAuditorId(loginUserInfoVO.getUserId());
        record1.setAuditStatus(2);
        record1.setAuditStatus(dto.getAuditResult());
        record1.setCreateBy(loginUserInfoVO.getUserId());
        record1.setCreateTime(new Date(System.currentTimeMillis()));
        record1.setUpdateBy(loginUserInfoVO.getUserId());
@@ -721,6 +736,7 @@
        record1.setReportType(complaintAuditRecord.getReportType());
        record1.setSuperiorId(complaintAuditRecord.getSuperiorId());
        record1.setSort(count + 1);
        record1.setRejectReason(dto.getRejectReason());
        complaintAuditRecordService.save(record1);
    }