From 02bb94e413f6950b9786c5ee86c0937bc20f8ae8 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 12 七月 2025 14:42:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java |   92 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 84 insertions(+), 8 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
index 848afcd..9770e05 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectorController.java
@@ -9,16 +9,18 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.WebUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.model.TDept;
-import com.ruoyi.system.model.TLocation;
-import com.ruoyi.system.model.TProjectDept;
-import com.ruoyi.system.model.TTaskDetail;
+import com.ruoyi.system.dto.TInspectorAuditDTO;
+import com.ruoyi.system.dto.TTaskAuditDTO;
+import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.InsepectorListQuery;
 import com.ruoyi.system.query.TaskListQuery;
 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;
@@ -30,6 +32,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -55,12 +58,16 @@
     @Resource
     private TTaskDetailService tTaskDetailService;
     @Resource
+    private TokenService tokenService;
+    @Resource
     private TDeptService deptService;
     @Resource
     private ISysUserService sysUserService;
 
     @Resource
     private TInspectorService inspectorService;
+    @Resource
+    private TTaskCleanService taskCleanerService;
     @ApiOperation(value = "督察记录分页列表")
     @PostMapping(value = "/pageList")
     public R<PageInfo<InspectorListVO>> pageList(@RequestBody InsepectorListQuery query) {
@@ -122,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) {
@@ -243,5 +256,68 @@
         inspectorService.removeById(id);
         return R.ok();
     }
+    @Resource
+    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) throws Exception {
+        TTaskAuditDTO tTaskAuditDTO = new TTaskAuditDTO();
+        BeanUtils.copyProperties(dto, tTaskAuditDTO);
+        TTask task = taskCleanerService.getById(dto.getTaskId());
+        TLocation location = locationService.getById(task.getLocationId());
+        TNotice tNotice = new TNotice();
+        TNoticeSet noticeSet = noticeSetService.lambdaQuery().eq(TNoticeSet::getType, 2).last("limit 1")
+                .one();
+        tNotice.setUserId(task.getPatrolInspector());
+        tNotice.setStatus(1);
+        tNotice.setDataId(task.getId());
+        tNotice.setNoticeSetType(noticeSet.getNoticeType());
+        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.getAuditTime()!=null){
+                    dto.setStatus(3);
+                }else{
+                    dto.setStatus(4);
+                }
+            }
+        }
+        dto.setAuditTime(LocalDateTime.now());
+
+        dto.setAuditPerson(tokenService.getLoginUser().getUserId()+"");
+        inspectorService.updateById(dto);
+        return R.ok();
+    }
 }
 

--
Gitblit v1.7.1