From 43aab58c9ecb1203770ba382efbdbae299ca87ec Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 26 十月 2026 15:12:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business' into dev_business

---
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapperTest.java |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapperTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapperTest.java
new file mode 100644
index 0000000..ab83306
--- /dev/null
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapperTest.java
@@ -0,0 +1,77 @@
+package cn.iocoder.yudao.module.mes.dal.mysql.qc.oqc;
+
+import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
+import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcPageReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO;
+import jakarta.annotation.Resource;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class MesQcOqcMapperTest extends BaseDbUnitTest {
+    @Resource
+    private MesQcOqcMapper mapper;
+    private final LocalDateTime date = LocalDateTime.of(2026, 10, 12, 0, 0);
+
+    @BeforeEach
+    void clearOqcRows() {
+        mapper.delete(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<MesQcOqcDO>());
+    }
+
+    private MesQcOqcDO insert(String code, Long clientId) {
+        MesQcOqcDO row = new MesQcOqcDO().setCode(code).setName(code).setItemId(10L)
+                .setTemplateId(20L).setClientId(clientId).setBatchCode("B001")
+                .setOutDate(date).setOutQuantity(BigDecimal.TEN).setStatus(0);
+        mapper.insert(row);
+        return row;
+    }
+
+    @Test
+    void emptyCustomerPersistsAndHasItsOwnDuplicateKey() {
+        insert("OQC-NO-CLIENT", null);
+        insert("OQC-CLIENT", 100L);
+        assertEquals(1, mapper.selectListByImportKey(10L, null, "B001", date).size());
+        assertEquals(1, mapper.selectListByImportKey(10L, 100L, "B001", date).size());
+        assertEquals(0, mapper.selectListByImportKey(10L, 200L, "B001", date).size());
+    }
+
+    @Test
+    void unassignedRecordsVisibleWithoutExposingUnauthorizedCustomers() {
+        insert("UNASSIGNED", null);
+        insert("ALLOWED", 100L);
+        insert("FORBIDDEN", 200L);
+        assertEquals(1L, mapper.selectPage(new MesQcOqcPageReqVO(), List.of()).getTotal());
+        assertEquals(2L, mapper.selectPage(new MesQcOqcPageReqVO(), List.of(100L)).getTotal());
+        assertEquals(3L, mapper.selectPage(new MesQcOqcPageReqVO(), (List<Long>) null).getTotal());
+        MesQcOqcPageReqVO filtered = new MesQcOqcPageReqVO();
+        filtered.setClientId(200L);
+        assertEquals(0L, mapper.selectPage(filtered, List.of(100L)).getTotal());
+    }
+
+    @Test
+    void changingInspectionStatusDoesNotClearAnExistingCustomer() {
+        MesQcOqcDO row = insert("STATUS-UPDATE", 100L);
+        mapper.updateById(new MesQcOqcDO().setId(row.getId()).setStatus(1));
+        assertEquals(100L, mapper.selectById(row.getId()).getClientId());
+    }
+
+    @Test
+    void inspectorFilterWorksTogetherWithCustomerVisibility() {
+        MesQcOqcDO first = insert("INSPECTOR-289", 100L);
+        MesQcOqcDO second = insert("INSPECTOR-290", 100L);
+        MesQcOqcDO hidden = insert("INSPECTOR-HIDDEN", 200L);
+        mapper.updateById(new MesQcOqcDO().setId(first.getId()).setInspectorUserId(289L));
+        mapper.updateById(new MesQcOqcDO().setId(second.getId()).setInspectorUserId(290L));
+        mapper.updateById(new MesQcOqcDO().setId(hidden.getId()).setInspectorUserId(289L));
+        MesQcOqcPageReqVO request = new MesQcOqcPageReqVO();
+        request.setInspectorUserId(289L);
+        assertEquals(2L, mapper.selectPage(request).getTotal());
+        assertEquals(1L, mapper.selectPage(request, List.of(100L)).getTotal());
+        assertEquals(first.getId(), mapper.selectPage(request, List.of(100L)).getList().get(0).getId());
+    }
+}

--
Gitblit v1.9.3