无关风月
19 小时以前 25b19e60e004290531f61fdf608d1adb5e531903
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
@@ -19,6 +19,8 @@
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.system.InspectorListVO;
import com.ruoyi.system.vo.system.TaskListVO;
import com.ruoyi.web.controller.tool.EmailUtils;
import com.ruoyi.web.controller.tool.MsgUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
@@ -127,17 +129,23 @@
                query.setLocationIds(collect);
                return R.ok(new PageInfo<>());
            }else{
                collect = collect.stream().filter(query.getLocationIds()::contains).collect(Collectors.toList());
                if (collect.isEmpty()){
                    return R.ok(new PageInfo<>());
                if (query.getLocationIds()!=null){
                    collect = collect.stream().filter(query.getLocationIds()::contains).collect(Collectors.toList());
                    if (collect.isEmpty()){
                        return R.ok(new PageInfo<>());
                    }
                }
                query.setLocationIds(collect);
            }
        }
        if (StringUtils.hasLength(query.getEndTime())){
            String replace = query.getEndTime().replace(" 00:00:00", " 23:59:59");
            query.setEndTime(replace);
        }
        return R.ok(inspectorService.pageList(query));
    }
    @Log(title = "督察记录导出", businessType = BusinessType.EXPORT)
    @Log(title = "督察记录导出", businessType = BusinessType.OTHER)
    @ApiOperation(value = "督察记录导出")
    @PostMapping(value = "/exportExcel")
    public void exportExcel(@RequestBody InsepectorListQuery query) {
@@ -252,13 +260,16 @@
    private TNoticeService noticeService;
    @Resource
    private TNoticeSetService noticeSetService;
    @Resource
    private TDictDataService dictDataService;
    @Resource
    private MsgUtils msgUtils;
    @Log(title = "审核任务", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "审核任务")
    @PostMapping(value = "/audit")
    public R<Boolean> audit(@RequestBody TInspectorAuditDTO dto) {
    public R<Boolean> audit(@RequestBody TInspectorAuditDTO dto) throws Exception {
        TTaskAuditDTO tTaskAuditDTO = new TTaskAuditDTO();
        BeanUtils.copyProperties(dto, tTaskAuditDTO);
        dto.setAuditTime(LocalDateTime.now());
        TTask task = taskCleanerService.getById(dto.getTaskId());
        TLocation location = locationService.getById(task.getLocationId());
        TNotice tNotice = new TNotice();
@@ -268,57 +279,44 @@
        tNotice.setStatus(1);
        tNotice.setDataId(task.getId());
        tNotice.setNoticeSetType(noticeSet.getNoticeType());
        if (dto.getAuditStatus()==2){
            tTaskAuditDTO.setHandleType(3);
            // 将任务修改为待整改
            task.setStatus(4);
            taskCleanerService.updateById(task);
            // 增加消息
            tNotice.setNoticeType(1);
            tNotice.setNoticeContent("【"+location.getLocationName()+"】任务不合格,请重新上传!");
        }else{
            tTaskAuditDTO.setHandleType(2);
            // 如果是初次审核就通过 将状态设置为已完成
            List<TTaskDetail> list = tTaskDetailService.lambdaQuery().eq(TTaskDetail::getTaskId, dto.getTaskId()).list();
            if (list.isEmpty()){
                if (dto.getClearStatus()==1){
                    task.setStatus(6);
                    dto.setStatus(4);
                    taskCleanerService.updateById(task);
                }else{
                    dto.setStatus(2);
                    task.setStatus(4);
                    taskCleanerService.updateById(task);
// 增加消息
                    tNotice.setNoticeType(1);
                    tNotice.setNoticeContent("【"+location.getLocationName()+"】任务不合格,请重新上传!");
        TInspector byId = inspectorService.getById(dto.getId());
        SysUser sysUser = sysUserService.selectUserById(Long.valueOf(task.getPatrolInspector()));
        // 邮箱
        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.getClearStatus()==1){
                if (dto.getAuditTime()!=null){
                    dto.setStatus(3);
                    task.setStatus(5);
                    taskCleanerService.updateById(task);
                    // 增加消息
                    tNotice.setNoticeType(2);
                    tNotice.setNoticeContent("【"+location.getLocationName()+"】任务已通过");
                }else{
                    dto.setStatus(2);
                    task.setStatus(4);
                    taskCleanerService.updateById(task);
                    // 增加消息
                    tNotice.setNoticeType(1);
                    tNotice.setNoticeContent("【"+location.getLocationName()+"】任务不合格,请重新上传!");
                    dto.setStatus(4);
                }
            }
        }
        noticeService.save(tNotice);
        dto.setAuditTime(LocalDateTime.now());
        dto.setAuditPerson(tokenService.getLoginUser().getUserId()+"");
        inspectorService.updateById(dto);
        tTaskDetailService.save(tTaskAuditDTO);
        return R.ok();
    }
}