Pu Zhibing
2025-02-24 d1fe0e921434326e94228e5de6126069d2be1f82
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
@@ -29,8 +29,10 @@
import com.panzhihua.sangeshenbian.model.vo.ComplaintVO;
import com.panzhihua.sangeshenbian.service.ISystemUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -51,7 +53,9 @@
@RequiredArgsConstructor
public class ComplaintServiceImpl extends ServiceImpl<ComplaintMapper, Complaint> implements IComplaintService {
    private final ISystemUserService systemUserService;
    private final IComplaintFlowService complaintFlowService;
    @Lazy
    @Resource
    private IComplaintFlowService complaintFlowService;
    private final IComplaintProgressService complaintProgressService;
    private final IComplaintAuditRecordService complaintAuditRecordService;
@@ -122,11 +126,11 @@
                    break;
                case 3:
                    //街道
                    targetId = systemUser.getStreetCode();
                    targetId = systemUser.getStreetId().toString();
                    break;
                case 4:
                    //社区
                    targetId = systemUser.getCommunityCode();
                    targetId = systemUser.getCommunityId().toString();
                    break;
            }
            isSuperior = 1;
@@ -152,7 +156,8 @@
            detail.setComplaintFlows(list);
        }
        //查询办理进度
        List<ComplaintProgress> list = complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, id).list();
        List<ComplaintProgress> list = complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, id)
                .orderByAsc(ComplaintProgress::getCreateTime).list();
        detail.setComplaintProgresses(list);
        return detail;
    }
@@ -187,6 +192,17 @@
        complaint.setCompletionTime(new Date());
        this.updateById(complaint);
    }
    /**
     * 办理进度列表
     * @param complaintId
     * @return
     */
    @Override
    public List<ComplaintProgress> progress(Long complaintId) {
        //查询办理进度
        return complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, complaintId)
                .orderByAsc(ComplaintProgress::getCreateTime).list();
    }
    @Override
    public void saveReport(ComplaintReportDTO dto, LoginUserInfoVO loginUserInfoVO) {
@@ -212,7 +228,7 @@
            // 使用基本类型比较并补充默认分支
            if (accountLevel == ReportTypeEnum.COMMUNITY.getCode()) {
                superiorId = Long.parseLong(adminUser.getStreetCode());
                superiorId = adminUser.getStreetId().longValue();
            } else if (accountLevel == ReportTypeEnum.STREET.getCode()) {
                superiorId = Long.parseLong(adminUser.getDistrictsCode());
            } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) {
@@ -260,9 +276,9 @@
        // 使用基本类型比较并补充默认分支
        if (accountLevel == ReportTypeEnum.STREET.getCode()) {
            superiorId = Long.parseLong(adminUser.getCommunityCode());
            superiorId = adminUser.getCommunityId().longValue();
        } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) {
            superiorId = Long.parseLong(adminUser.getStreetCode());
            superiorId = adminUser.getStreetId().longValue();
        } else if (accountLevel == ReportTypeEnum.CITY.getCode()) {
            superiorId = Long.parseLong(adminUser.getDistrictsCode());
        } else {
@@ -384,11 +400,11 @@
                    break;
                case 3:
                    //街道
                    targetId = systemUser.getStreetCode();
                    targetId = systemUser.getStreetId().toString();
                    break;
                case 4:
                    //社区
                    targetId = systemUser.getCommunityCode();
                    targetId = systemUser.getCommunityId().toString();
                    break;
            }
            isSuperior = 1;
@@ -399,6 +415,17 @@
        Page<ComplaintTodoVO> page = baseMapper.getTodoList(new Page<>(basePage.getPageNum(), basePage.getPageSize()), targetId,isSuperior);
        return page;
    }
    /**
     * 延期情况说明
     * @param complaintId
     * @return
     */
    @Override
    public ComplaintAuditRecord delayDetail(Long complaintId) {
        return complaintAuditRecordService.lambdaQuery().eq(ComplaintAuditRecord::getComplaintId, complaintId)
                .eq(ComplaintAuditRecord::getAuditType, 1)
                .eq(ComplaintAuditRecord::getLatestFlag, true)
                .last("LIMIT 1").one();
    }
}