From e281e3710c5a0c3c7d7596f00cd1cc6945da7f0b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 29 九月 2026 19:48:21 +0800
Subject: [PATCH] 修改VIN码模块

---
 ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/controller/TVinManagementControllerTest.java |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 69 insertions(+), 6 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/controller/TVinManagementControllerTest.java b/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/controller/TVinManagementControllerTest.java
index 05c49bb..0c8eb5d 100644
--- a/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/controller/TVinManagementControllerTest.java
+++ b/ruoyi-service/ruoyi-account/src/test/java/com/ruoyi/account/controller/TVinManagementControllerTest.java
@@ -12,6 +12,7 @@
 import com.ruoyi.system.api.model.LoginUserApplet;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
@@ -19,7 +20,9 @@
 import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.test.util.ReflectionTestUtils;
 
+import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -195,8 +198,70 @@
         assertEquals("川A12345", parsed.getPlateNumber());
         assertEquals("13800138000", parsed.getPhone());
         assertEquals("测试公司", parsed.getCompanyName());
-        assertEquals("备注", parsed.getRemark());
         assertEquals("1", parsed.getStatus());
+    }
+
+    @Test
+    void templateHeaderUsesRenamedColumnsWithoutRemark() throws Exception {
+        TVinManagementService service = mock(TVinManagementService.class);
+        TVinManagementController controller = buildController(service);
+        MockHttpServletResponse response = new MockHttpServletResponse();
+
+        controller.template(response);
+
+        Row header = workbookHeader(response);
+        assertEquals(5, header.getLastCellNum());
+        assertEquals("VIN码", header.getCell(0).getStringCellValue());
+        assertEquals("车牌号", header.getCell(1).getStringCellValue());
+        assertEquals("联系人手机号", header.getCell(2).getStringCellValue());
+        assertEquals("所属公司", header.getCell(3).getStringCellValue());
+        assertEquals("启停状态", header.getCell(4).getStringCellValue());
+    }
+
+    @Test
+    void exportHeaderAndAccountColumnsFollowListCaliber() throws Exception {
+        TVinManagementService service = mock(TVinManagementService.class);
+        VinManagementExcelDTO item = new VinManagementExcelDTO();
+        item.setVin("LSVAM4187C2184842");
+        item.setPlateNumber("川A12345");
+        item.setPhone("13800138000");
+        item.setCompanyName("测试公司");
+        item.setFleetName("测试车队");
+        item.setAccountMode(1);
+        item.setAvailableBalance(new BigDecimal("10.50"));
+        item.setOverrun(new BigDecimal("2.00"));
+        item.setAccountStatus(2);
+        item.setStatus("1");
+        when(service.selectExportList(any())).thenReturn(Collections.singletonList(item));
+        TVinManagementController controller = buildController(service);
+
+        MockHttpServletResponse response = new MockHttpServletResponse();
+        controller.export(response, new VinManagementQueryDTO());
+
+        Workbook workbook = new XSSFWorkbook(new ByteArrayInputStream(response.getContentAsByteArray()));
+        Row header = workbook.getSheetAt(0).getRow(0);
+        assertEquals(10, header.getLastCellNum());
+        assertEquals("VIN码", header.getCell(0).getStringCellValue());
+        assertEquals("车牌号", header.getCell(1).getStringCellValue());
+        assertEquals("联系人手机号", header.getCell(2).getStringCellValue());
+        assertEquals("所属公司", header.getCell(3).getStringCellValue());
+        assertEquals("所属车队", header.getCell(4).getStringCellValue());
+        assertEquals("账户模式", header.getCell(5).getStringCellValue());
+        assertEquals("可用余额", header.getCell(6).getStringCellValue());
+        assertEquals("超额", header.getCell(7).getStringCellValue());
+        assertEquals("账户状态", header.getCell(8).getStringCellValue());
+        assertEquals("启停状态", header.getCell(9).getStringCellValue());
+        Row data = workbook.getSheetAt(0).getRow(1);
+        assertEquals("共享模式", data.getCell(5).getStringCellValue());
+        assertEquals(10.5D, data.getCell(6).getNumericCellValue());
+        assertEquals(2.0D, data.getCell(7).getNumericCellValue());
+        assertEquals("欠款", data.getCell(8).getStringCellValue());
+        assertEquals("启用", data.getCell(9).getStringCellValue());
+    }
+
+    private Row workbookHeader(MockHttpServletResponse response) throws Exception {
+        Workbook workbook = new XSSFWorkbook(new ByteArrayInputStream(response.getContentAsByteArray()));
+        return workbook.getSheetAt(0).getRow(0);
     }
 
     @Test
@@ -267,17 +332,15 @@
             Row header = sheet.createRow(0);
             header.createCell(0).setCellValue("VIN码");
             header.createCell(1).setCellValue("车牌号");
-            header.createCell(2).setCellValue("手机号");
+            header.createCell(2).setCellValue("联系人手机号");
             header.createCell(3).setCellValue("所属公司");
-            header.createCell(4).setCellValue("备注");
-            header.createCell(5).setCellValue("启用状态");
+            header.createCell(4).setCellValue("启停状态");
             Row row = sheet.createRow(1);
             row.createCell(0).setCellValue("LSVAM4187C2184842");
             row.createCell(1).setCellValue("川A12345");
             row.createCell(2).setCellValue("13800138000");
             row.createCell(3).setCellValue("测试公司");
-            row.createCell(4).setCellValue("备注");
-            row.createCell(5).setCellValue("启用");
+            row.createCell(4).setCellValue("启用");
             workbook.write(output);
             return new MockMultipartFile("file", "vin.xlsx",
                     "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", output.toByteArray());

--
Gitblit v1.7.1