From 6bab142343375e744e46f2042aa3b0fedea70b06 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 19 五月 2026 23:32:55 +0800
Subject: [PATCH] fix: 设备巡检修改

---
 doc/inspection_task_add_acceptor.sql                                               |   11 +++
 src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java |   55 ++++++++++++++----
 doc/inspection_task_add_exception_fields.sql                                       |   11 +++
 src/main/java/com/ruoyi/inspectiontask/pojo/InspectionTask.java                    |   16 +++++
 doc/update_inspection_task.sql                                                     |    1 
 src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskServiceImpl.java     |   12 ++++
 src/main/java/com/ruoyi/inspectiontask/pojo/TimingTask.java                        |    6 ++
 src/main/java/com/ruoyi/inspectiontask/service/InspectionTaskService.java          |    2 
 doc/timing_task_add_acceptor.sql                                                   |   11 +++
 src/main/java/com/ruoyi/inspectiontask/controller/InspectionTaskController.java    |   12 ++++
 src/main/java/com/ruoyi/inspectiontask/dto/InspectionTaskDto.java                  |   13 ---
 11 files changed, 126 insertions(+), 24 deletions(-)

diff --git a/doc/inspection_task_add_acceptor.sql b/doc/inspection_task_add_acceptor.sql
new file mode 100644
index 0000000..735549e
--- /dev/null
+++ b/doc/inspection_task_add_acceptor.sql
@@ -0,0 +1,11 @@
+-- 宸℃浠诲姟琛ㄦ柊澧為獙鏀跺叆瀛楁
+-- 娣诲姞鏃堕棿: 2026-05-19
+-- 璇存槑: 涓哄贰妫�浠诲姟琛ㄦ坊鍔犻獙鏀朵汉瀛楁锛岀敤浜庤褰曞贰妫�鐨勯獙鏀朵汉鍛�
+
+-- 鏂板宸℃楠屾敹浜篒D瀛楁
+ALTER TABLE inspection_task
+ADD COLUMN inspection_acceptor_id BIGINT NULL DEFAULT NULL COMMENT '宸℃楠屾敹浜篒D' AFTER tenant_id;
+
+-- 鏂板宸℃楠屾敹浜哄鍚嶅瓧娈�
+ALTER TABLE inspection_task
+ADD COLUMN inspection_acceptor VARCHAR(100) NULL DEFAULT NULL COMMENT '宸℃楠屾敹浜哄鍚�' AFTER inspection_acceptor_id;
diff --git a/doc/inspection_task_add_exception_fields.sql b/doc/inspection_task_add_exception_fields.sql
new file mode 100644
index 0000000..3042d17
--- /dev/null
+++ b/doc/inspection_task_add_exception_fields.sql
@@ -0,0 +1,11 @@
+-- inspection_task琛ㄦ柊澧炲紓甯哥浉鍏冲瓧娈�
+-- 娣诲姞鏃堕棿: 2026-05-19
+-- 璇存槑: 涓哄贰妫�浠诲姟琛ㄦ坊鍔犲紓甯哥姸鎬佸拰寮傚父鎻忚堪瀛楁
+
+-- 鏂板宸℃鐘舵�佸瓧娈�: 0=鏈贰妫�, 1=姝e父, 2=寮傚父
+ALTER TABLE inspection_task
+ADD COLUMN inspection_status INT DEFAULT 0 COMMENT '宸℃鐘舵��: 0=鏈贰妫�, 1=姝e父, 2=寮傚父' AFTER frequency_detail;
+
+-- 鏂板宸℃寮傚父鎻忚堪瀛楁
+ALTER TABLE inspection_task
+ADD COLUMN inspection_remark VARCHAR(2000) NULL DEFAULT NULL COMMENT '宸℃寮傚父鎻忚堪' AFTER inspection_status;
diff --git a/doc/timing_task_add_acceptor.sql b/doc/timing_task_add_acceptor.sql
new file mode 100644
index 0000000..af8158f
--- /dev/null
+++ b/doc/timing_task_add_acceptor.sql
@@ -0,0 +1,11 @@
+-- 瀹氭椂浠诲姟琛ㄦ柊澧為獙鏀跺叆瀛楁
+-- 娣诲姞鏃堕棿: 2026-05-19
+-- 璇存槑: 涓哄畾鏃朵换鍔¤〃娣诲姞楠屾敹浜哄瓧娈碉紝鐢ㄤ簬璁板綍宸℃浠诲姟鐨勯獙鏀朵汉鍛�
+
+-- 鏂板宸℃楠屾敹浜篒D瀛楁
+ALTER TABLE timing_task
+ADD COLUMN inspection_acceptor_id BIGINT NULL DEFAULT NULL COMMENT '宸℃楠屾敹浜篒D' AFTER tenant_id;
+
+-- 鏂板宸℃楠屾敹浜哄鍚嶅瓧娈�
+ALTER TABLE timing_task
+ADD COLUMN inspection_acceptor VARCHAR(100) NULL DEFAULT NULL COMMENT '宸℃楠屾敹浜哄鍚�' AFTER inspection_acceptor_id;
diff --git a/doc/update_inspection_task.sql b/doc/update_inspection_task.sql
new file mode 100644
index 0000000..4ed369d
--- /dev/null
+++ b/doc/update_inspection_task.sql
@@ -0,0 +1 @@
+ALTER TABLE inspection_task ADD COLUMN accept_status INT DEFAULT 0 COMMENT '楠屾敹鐘舵��: 0=寰呴獙鏀�, 1=宸查�氳繃, 2=宸查��鍥�';
diff --git a/src/main/java/com/ruoyi/inspectiontask/controller/InspectionTaskController.java b/src/main/java/com/ruoyi/inspectiontask/controller/InspectionTaskController.java
index 40445d1..5ef4a81 100644
--- a/src/main/java/com/ruoyi/inspectiontask/controller/InspectionTaskController.java
+++ b/src/main/java/com/ruoyi/inspectiontask/controller/InspectionTaskController.java
@@ -16,6 +16,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.Map;
 
 /**
  * @author :yys
@@ -64,6 +65,17 @@
     }
 
     /**
+     * 宸℃楠屾敹
+     */
+    @PostMapping("/accept")
+    @ApiOperation("宸℃楠屾敹")
+    public R acceptInspectionTask(@RequestBody Map<String, Object> params) {
+        Long id = Long.valueOf(params.get("id").toString());
+        Integer acceptStatus = Integer.valueOf(params.get("acceptStatus").toString());
+        return R.ok(inspectionTaskService.acceptInspectionTask(id, acceptStatus));
+    }
+
+    /**
      * 宸℃浠诲姟琛ㄥ垹闄�
      */
     @DeleteMapping("/delInspectionTask")
diff --git a/src/main/java/com/ruoyi/inspectiontask/dto/InspectionTaskDto.java b/src/main/java/com/ruoyi/inspectiontask/dto/InspectionTaskDto.java
index 6730095..6d6fc26 100644
--- a/src/main/java/com/ruoyi/inspectiontask/dto/InspectionTaskDto.java
+++ b/src/main/java/com/ruoyi/inspectiontask/dto/InspectionTaskDto.java
@@ -1,7 +1,5 @@
 package com.ruoyi.inspectiontask.dto;
 
-import com.ruoyi.basic.dto.StorageBlobDTO;
-import com.ruoyi.basic.pojo.StorageAttachment;
 import com.ruoyi.inspectiontask.pojo.InspectionTask;
 import com.ruoyi.sales.pojo.CommonFile;
 import lombok.Data;
@@ -13,16 +11,9 @@
 @EqualsAndHashCode(callSuper = true)
 public class InspectionTaskDto extends InspectionTask {
 
-//    private List<StorageBlobDTO> storageBlobDTO;
-//    private List<StorageBlobDTO> beforeProduction;
-//    private List<StorageBlobDTO> afterProduction;
-//    private List<StorageBlobDTO> productionIssues;
-//
-//    private List<StorageAttachment> attachments;
+    private Boolean hasException;
 
     private List<String> tempFileIds;
-    private List<CommonFile> commonFileList; //鐢熶骇涓�
-    private List<CommonFile> commonFileListAfter;  //鐢熶骇鍚�
-    private List<CommonFile> commonFileListBefore; //鐢熶骇鍓�
+    private List<CommonFile> commonFileList; //宸℃闄勪欢
 
 }
diff --git a/src/main/java/com/ruoyi/inspectiontask/pojo/InspectionTask.java b/src/main/java/com/ruoyi/inspectiontask/pojo/InspectionTask.java
index 4d95a96..84e4608 100644
--- a/src/main/java/com/ruoyi/inspectiontask/pojo/InspectionTask.java
+++ b/src/main/java/com/ruoyi/inspectiontask/pojo/InspectionTask.java
@@ -60,6 +60,13 @@
     @Excel(name = "寮�濮嬫棩鏈熶笌鏃堕棿")
     private String frequencyDetail;
 
+    @ApiModelProperty(value = "宸℃鐘舵��: 0=鏈贰妫�, 1=姝e父, 2=寮傚父")
+    private Integer inspectionStatus;
+
+    @ApiModelProperty(value = "宸℃寮傚父鎻忚堪")
+    @Excel(name = "寮傚父鎻忚堪")
+    private String inspectionRemark;
+
     @ApiModelProperty(value = "宸℃鍦扮偣璇︾粏鎻忚堪")
     private String inspectionLocation;
 
@@ -89,6 +96,15 @@
     @TableField(fill = FieldFill.INSERT)
     private Long tenantId;
 
+    @ApiModelProperty(value = "宸℃楠屾敹浜篒D")
+    private Long inspectionAcceptorId;
+
+    @ApiModelProperty(value = "宸℃楠屾敹浜哄鍚�")
+    private String inspectionAcceptor;
+
+    @ApiModelProperty(value = "楠屾敹鐘舵��: 0=寰呴獙鏀�, 1=宸查�氳繃, 2=宸查��鍥�")
+    private Integer acceptStatus;
+
     @TableField(exist = false)
     private String dateStr;
 }
diff --git a/src/main/java/com/ruoyi/inspectiontask/pojo/TimingTask.java b/src/main/java/com/ruoyi/inspectiontask/pojo/TimingTask.java
index f3f3c8b..f9898f9 100644
--- a/src/main/java/com/ruoyi/inspectiontask/pojo/TimingTask.java
+++ b/src/main/java/com/ruoyi/inspectiontask/pojo/TimingTask.java
@@ -106,4 +106,10 @@
     @TableField(fill = com.baomidou.mybatisplus.annotation.FieldFill.INSERT)
     private Long tenantId;
 
+    @ApiModelProperty(value = "宸℃楠屾敹浜篒D")
+    private Long inspectionAcceptorId;
+
+    @ApiModelProperty(value = "宸℃楠屾敹浜哄鍚�")
+    private String inspectionAcceptor;
+
 }
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/InspectionTaskService.java b/src/main/java/com/ruoyi/inspectiontask/service/InspectionTaskService.java
index 72ca5e4..8c2b0e2 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/InspectionTaskService.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/InspectionTaskService.java
@@ -18,5 +18,7 @@
 
     int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) throws IOException;
 
+    int acceptInspectionTask(Long id, Integer acceptStatus);
+
     int delByIds(Long[] ids);
 }
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
index 1c4b48a..bb18e52 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -122,10 +122,10 @@
                         SysUser::getNickName,
                         (existing, replacement) -> existing));
 
-        //澶勭悊闄勪欢
+        //澶勭悊闄勪欢 - 鍙煡璇㈠贰妫�闄勪欢锛坱ype=20锛�
         List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
                 .in(CommonFile::getCommonId, ids)
-                .in(CommonFile::getType, Arrays.asList(FileNameType.INSPECTION.getValue(), FileNameType.INSPECTION_PRODUCTION_BEFORE.getValue(), FileNameType.INSPECTION_PRODUCTION_AFTER.getValue())));
+                .in(CommonFile::getType, Arrays.asList(FileNameType.INSPECTION.getValue())));
         if(commonFiles == null){
             commonFiles = new ArrayList<>();
         }
@@ -158,20 +158,11 @@
 
             dto.setDateStr(inspectionTask.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 
-            // 鍒濆鍖栦笁涓檮浠跺垪琛�
+            // 璁剧疆闄勪欢鍒楄〃 - 缁熶竴浣跨敤 commonFileList
             List<CommonFile> taskFiles = finalCommonFiles.stream()
                     .filter(commonFile -> Objects.equals(commonFile.getCommonId(), inspectionTask.getId()))
                     .collect(Collectors.toList());
-            dto.setCommonFileList(taskFiles.stream()
-                    .filter(commonFile -> Objects.equals(commonFile.getType(), FileNameType.INSPECTION.getValue()))
-                    .collect(Collectors.toList()));
-            dto.setCommonFileListAfter(taskFiles.stream()
-                    .filter(commonFile -> Objects.equals(commonFile.getType(), FileNameType.INSPECTION_PRODUCTION_AFTER.getValue()))
-                    .collect(Collectors.toList()));
-            dto.setCommonFileListBefore(taskFiles.stream()
-                    .filter(commonFile -> Objects.equals(commonFile.getType(), FileNameType.INSPECTION_PRODUCTION_BEFORE.getValue()))
-                    .collect(Collectors.toList()));
-
+            dto.setCommonFileList(taskFiles);
 
             return dto;
         }).collect(Collectors.toList());
@@ -212,6 +203,25 @@
         BeanUtils.copyProperties(inspectionTaskDto, inspectionTask);
         inspectionTask.setRegistrantId(SecurityUtils.getLoginUser().getUserId());
         inspectionTask.setRegistrant(SecurityUtils.getLoginUser().getUsername());
+
+        // 澶勭悊寮傚父鐘舵�佽浆鎹細hasException -> inspectionStatus
+        // hasException = null -> 0(鏈贰妫�), false -> 1(姝e父), true -> 2(寮傚父)
+        Boolean hasException = inspectionTaskDto.getHasException();
+        if (hasException != null) {
+            inspectionTask.setInspectionStatus(hasException ? 2 : 1);
+            // 濡傛灉鏈夊紓甯告弿杩帮紝璁剧疆寮傚父鎻忚堪
+            if (hasException && inspectionTaskDto.getInspectionRemark() != null) {
+                inspectionTask.setInspectionRemark(inspectionTaskDto.getInspectionRemark());
+            }
+        } else {
+            inspectionTask.setInspectionStatus(0);
+        }
+
+        // 閲嶆柊宸℃鏃讹紝閲嶇疆楠屾敹鐘舵��
+        inspectionTask.setAcceptStatus(0);
+        inspectionTask.setInspectionAcceptorId(null);
+        inspectionTask.setInspectionAcceptor(null);
+
         int i;
         if (Objects.isNull(inspectionTaskDto.getId())) {
             i = inspectionTaskMapper.insert(inspectionTask);
@@ -224,6 +234,25 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public int acceptInspectionTask(Long id, Integer acceptStatus) {
+        InspectionTask task = inspectionTaskMapper.selectById(id);
+        if (task == null) {
+            throw new RuntimeException("浠诲姟涓嶅瓨鍦�");
+        }
+        if (task.getInspectionStatus() == null || task.getInspectionStatus() == 0) {
+            throw new RuntimeException("璇ヤ换鍔″皻鏈贰妫�锛屾棤娉曢獙鏀�");
+        }
+        task.setInspectionAcceptorId(SecurityUtils.getLoginUser().getUserId());
+        task.setInspectionAcceptor(SecurityUtils.getLoginUser().getUser().getNickName());
+        task.setAcceptStatus(acceptStatus);
+        
+        // 濡傛灉鏄��鍥�(2)锛岃�冭檻鍒板彲鑳芥槸閲嶆柊宸℃锛屽彲浠ヤ繚鐣欎箣鍓嶇殑宸℃璁板綍浣嗙姸鎬佸彉涓洪��鍥�
+        // APP绔細鏍规嵁 acceptStatus == 2 鏉ユ斁寮�宸℃鎸夐挳
+        return inspectionTaskMapper.updateById(task);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public int delByIds(Long[] ids) {
         // 妫�鏌ュ弬鏁�
         if (ids == null || ids.length == 0) {
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskServiceImpl.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskServiceImpl.java
index 97f2de1..354f971 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskServiceImpl.java
@@ -81,6 +81,13 @@
             }
         });
 
+        // 鏀堕泦楠屾敹鍏D
+        taskPage.getRecords().forEach(task -> {
+            if (task.getInspectionAcceptorId() != null) {
+                userIds.add(task.getInspectionAcceptorId());
+            }
+        });
+
         // 4. 鎵归噺鏌ヨ鐢ㄦ埛淇℃伅
         Map<Long, String> userNickNameMap = new HashMap<>();
         if (!userIds.isEmpty()) {
@@ -111,6 +118,11 @@
                 dto.setInspector(inspectorNickNames);
             }
 
+            // 璁剧疆楠屾敹浜烘樀绉�
+            if (task.getInspectionAcceptorId() != null) {
+                dto.setInspectionAcceptor(userNickNameMap.getOrDefault(task.getInspectionAcceptorId(), "鏈煡鐢ㄦ埛"));
+            }
+
             return dto;
         }).collect(Collectors.toList());
 

--
Gitblit v1.9.3