From 4f45f29e6b53f4c01b414409c5000ff4e212b3d9 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 05 六月 2026 13:36:54 +0800
Subject: [PATCH] 增加eip
---
basic-server/doc/EIP线缆对接.sql | 31 +++
basic-server/src/main/java/com/ruoyi/basic/controller/EipCableController.java | 90 +++++++++++
basic-server/src/main/java/com/ruoyi/basic/dto/EipSyncDto.java | 14 +
basic-server/src/main/java/com/ruoyi/basic/pojo/EipCableTestData.java | 83 ++++++++++
basic-server/src/main/java/com/ruoyi/basic/service/EipCableService.java | 15 +
basic-server/src/main/java/com/ruoyi/basic/service/impl/EipCableServiceImpl.java | 118 ++++++++++++++
basic-server/src/main/java/com/ruoyi/basic/constant/EipCableTypeConstants.java | 58 +++++++
basic-server/src/main/java/com/ruoyi/basic/mapper/EipCableTestDataMapper.java | 10 +
basic-server/src/main/java/com/ruoyi/basic/dto/EipCableQueryDto.java | 24 +++
9 files changed, 443 insertions(+), 0 deletions(-)
diff --git "a/basic-server/doc/EIP\347\272\277\347\274\206\345\257\271\346\216\245.sql" "b/basic-server/doc/EIP\347\272\277\347\274\206\345\257\271\346\216\245.sql"
new file mode 100644
index 0000000..dda6ea4
--- /dev/null
+++ "b/basic-server/doc/EIP\347\272\277\347\274\206\345\257\271\346\216\245.sql"
@@ -0,0 +1,31 @@
+CREATE TABLE `eip_cable_test_data` (
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+ `cable_type` VARCHAR(50) DEFAULT NULL COMMENT '绾跨紗绫诲瀷缂栫爜',
+ `cable_type_name` VARCHAR(100) DEFAULT NULL COMMENT '绾跨紗绫诲瀷鍚嶇О',
+ `sample_code` VARCHAR(100) DEFAULT NULL COMMENT '鏍峰搧缂栧彿',
+ `product_name` VARCHAR(200) DEFAULT NULL COMMENT '浜у搧鍚嶇О',
+ `spec_model` VARCHAR(200) DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+ `test_type` VARCHAR(100) DEFAULT NULL COMMENT '璇曢獙绫诲瀷',
+ `test_result` VARCHAR(100) DEFAULT NULL COMMENT '璇曢獙缁撴灉',
+ `raw_material` VARCHAR(500) DEFAULT NULL COMMENT '鍘熸潗鏂�',
+ `process_inspection` VARCHAR(500) DEFAULT NULL COMMENT '杩囩▼妫�',
+ `final_inspection` VARCHAR(500) DEFAULT NULL COMMENT '鎴愬搧妫�',
+ `test_date` DATE DEFAULT NULL COMMENT '璇曢獙鏃堕棿',
+ `source_system` VARCHAR(100) DEFAULT NULL COMMENT '鏉ユ簮绯荤粺',
+ `sync_batch_no` VARCHAR(100) DEFAULT NULL COMMENT '鍚屾鎵规鍙�',
+ `sync_status` TINYINT DEFAULT '1' COMMENT '鍚屾鐘舵�侊細0澶辫触锛�1鎴愬姛',
+ `remark` VARCHAR(500) DEFAULT NULL COMMENT '澶囨敞',
+ `create_by` VARCHAR(100) DEFAULT NULL COMMENT '鍒涘缓浜�',
+ `update_by` VARCHAR(100) DEFAULT NULL COMMENT '淇敼浜�',
+ `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+ `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+ PRIMARY KEY (`id`),
+ KEY `idx_cable_type` (`cable_type`),
+ KEY `idx_sample_code` (`sample_code`),
+ KEY `idx_test_date` (`test_date`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='EIP绾跨紗璇曢獙鏁版嵁琛�';
+
+INSERT INTO `sys_menu`
+(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`)
+VALUES
+('EIP绾跨紗瀵规帴', 0, 14, 'quality-eip-cable', 'quality/eipCable/index', NULL, 'QualityEipCable', '1', '0', 'C', '0', '0', 'quality:eipCable:list', 'guide', 'admin', NOW(), '璐ㄩ噺绠$悊-绾跨紗绫籈IP瀵规帴');
diff --git a/basic-server/src/main/java/com/ruoyi/basic/constant/EipCableTypeConstants.java b/basic-server/src/main/java/com/ruoyi/basic/constant/EipCableTypeConstants.java
new file mode 100644
index 0000000..25990e4
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/constant/EipCableTypeConstants.java
@@ -0,0 +1,58 @@
+package com.ruoyi.basic.constant;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * EIP 绾跨紗绫诲瀷甯搁噺
+ */
+public final class EipCableTypeConstants {
+
+ private EipCableTypeConstants() {
+ }
+
+ public static final String HIGH_VOLTAGE = "highVoltage";
+ public static final String MEDIUM_VOLTAGE = "mediumVoltage";
+ public static final String LOW_VOLTAGE = "lowVoltage";
+ public static final String MAIN_NETWORK = "mainNetwork";
+ public static final String DISTRIBUTION = "distribution";
+ public static final String OPTICAL_FIBER = "opticalFiber";
+ public static final String OPGW = "opgw";
+ public static final String ADSS = "adss";
+
+ public static List<String> allTypes() {
+ return Arrays.asList(
+ HIGH_VOLTAGE,
+ MEDIUM_VOLTAGE,
+ LOW_VOLTAGE,
+ MAIN_NETWORK,
+ DISTRIBUTION,
+ OPTICAL_FIBER,
+ OPGW,
+ ADSS
+ );
+ }
+
+ public static String getTypeName(String type) {
+ switch (type) {
+ case HIGH_VOLTAGE:
+ return "楂樺帇鐢靛姏鐢电紗";
+ case MEDIUM_VOLTAGE:
+ return "涓帇鐢靛姏鐢电紗";
+ case LOW_VOLTAGE:
+ return "浣庡帇绾跨紗";
+ case MAIN_NETWORK:
+ return "涓荤綉瀵煎湴绾�";
+ case DISTRIBUTION:
+ return "閰嶇綉瀵煎湴绾�";
+ case OPTICAL_FIBER:
+ return "鍏夌紗";
+ case OPGW:
+ return "OPGW鍏夌紗";
+ case ADSS:
+ return "ADSS鍏夌紗";
+ default:
+ return type;
+ }
+ }
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/EipCableController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/EipCableController.java
new file mode 100644
index 0000000..3afc550
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/EipCableController.java
@@ -0,0 +1,90 @@
+package com.ruoyi.basic.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.basic.constant.EipCableTypeConstants;
+import com.ruoyi.basic.dto.EipCableQueryDto;
+import com.ruoyi.basic.dto.EipSyncDto;
+import com.ruoyi.basic.pojo.EipCableTestData;
+import com.ruoyi.basic.service.EipCableService;
+import com.ruoyi.common.core.domain.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * EIP 绾跨紗瀵规帴鎺у埗鍣�
+ */
+@Api(tags = "EIP绾跨紗瀵规帴")
+@RestController
+@RequestMapping("/eip")
+public class EipCableController {
+
+ @Resource
+ private EipCableService eipCableService;
+
+ @ApiOperation("鍒嗛〉鏌ヨ楂樺帇鐢靛姏鐢电紗璇曢獙鏁版嵁")
+ @GetMapping("/highVoltageCable/page")
+ public Result<IPage<EipCableTestData>> pageHighVoltageCable(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.HIGH_VOLTAGE, query));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ涓帇鐢靛姏鐢电紗璇曢獙鏁版嵁")
+ @GetMapping("/mediumVoltageCable/page")
+ public Result<IPage<EipCableTestData>> pageMediumVoltageCable(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.MEDIUM_VOLTAGE, query));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ浣庡帇绾跨紗璇曢獙鏁版嵁")
+ @GetMapping("/lowVoltageCable/page")
+ public Result<IPage<EipCableTestData>> pageLowVoltageCable(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.LOW_VOLTAGE, query));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ涓荤綉瀵煎湴绾胯瘯楠屾暟鎹�")
+ @GetMapping("/mainNetworkGroundWire/page")
+ public Result<IPage<EipCableTestData>> pageMainNetworkGroundWire(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.MAIN_NETWORK, query));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ閰嶇綉瀵煎湴绾胯瘯楠屾暟鎹�")
+ @GetMapping("/distributionGroundWire/page")
+ public Result<IPage<EipCableTestData>> pageDistributionGroundWire(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.DISTRIBUTION, query));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ鍏夌紗璇曢獙鏁版嵁")
+ @GetMapping("/opticalFiber/page")
+ public Result<IPage<EipCableTestData>> pageOpticalFiber(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.OPTICAL_FIBER, query));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ OPGW 鍏夌紗璇曢獙鏁版嵁")
+ @GetMapping("/opgwOpticalFiber/page")
+ public Result<IPage<EipCableTestData>> pageOPGWOpticalFiber(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.OPGW, query));
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ ADSS 鍏夌紗璇曢獙鏁版嵁")
+ @GetMapping("/adssOpticalFiber/page")
+ public Result<IPage<EipCableTestData>> pageADSSOpticalFiber(Long page, Long size, EipCableQueryDto query) {
+ return Result.success(pageCableData(page, size, EipCableTypeConstants.ADSS, query));
+ }
+
+ @ApiOperation("鍚屾 EIP 绾跨紗璇曢獙鏁版嵁")
+ @PostMapping("/sync")
+ public Result<Integer> sync(@RequestBody EipSyncDto dto) {
+ return Result.success(eipCableService.syncCableData(dto.getCableType()));
+ }
+
+ private IPage<EipCableTestData> pageCableData(Long page, Long size, String cableType, EipCableQueryDto query) {
+ long current = page == null || page < 1 ? 1L : page;
+ long pageSize = size == null || size < 1 ? 20L : size;
+ return eipCableService.pageByCableType(current, pageSize, cableType, query == null ? new EipCableQueryDto() : query);
+ }
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/EipCableQueryDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/EipCableQueryDto.java
new file mode 100644
index 0000000..31f1895
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/EipCableQueryDto.java
@@ -0,0 +1,24 @@
+package com.ruoyi.basic.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+/**
+ * EIP 绾跨紗璇曢獙鏁版嵁鏌ヨ鍙傛暟
+ */
+@Data
+public class EipCableQueryDto {
+
+ @ApiModelProperty("鏍峰搧缂栧彿")
+ private String sampleCode;
+
+ @ApiModelProperty("璇曢獙绫诲瀷")
+ private String testType;
+
+ @ApiModelProperty("璇曢獙鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private LocalDate testDate;
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/EipSyncDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/EipSyncDto.java
new file mode 100644
index 0000000..2fc93be
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/EipSyncDto.java
@@ -0,0 +1,14 @@
+package com.ruoyi.basic.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * EIP 鏁版嵁鍚屾鍙傛暟
+ */
+@Data
+public class EipSyncDto {
+
+ @ApiModelProperty("绾跨紗绫诲瀷")
+ private String cableType;
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/EipCableTestDataMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/EipCableTestDataMapper.java
new file mode 100644
index 0000000..c4f85bb
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/EipCableTestDataMapper.java
@@ -0,0 +1,10 @@
+package com.ruoyi.basic.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.basic.pojo.EipCableTestData;
+
+/**
+ * EIP 绾跨紗璇曢獙鏁版嵁 Mapper
+ */
+public interface EipCableTestDataMapper extends BaseMapper<EipCableTestData> {
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/EipCableTestData.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/EipCableTestData.java
new file mode 100644
index 0000000..9da5f13
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/EipCableTestData.java
@@ -0,0 +1,83 @@
+package com.ruoyi.basic.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * EIP 绾跨紗璇曢獙鏁版嵁
+ */
+@Data
+@TableName("eip_cable_test_data")
+public class EipCableTestData implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("绾跨紗绫诲瀷缂栫爜")
+ private String cableType;
+
+ @ApiModelProperty("绾跨紗绫诲瀷鍚嶇О")
+ private String cableTypeName;
+
+ @ApiModelProperty("鏍峰搧缂栧彿")
+ private String sampleCode;
+
+ @ApiModelProperty("浜у搧鍚嶇О")
+ private String productName;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String specModel;
+
+ @ApiModelProperty("璇曢獙绫诲瀷")
+ private String testType;
+
+ @ApiModelProperty("璇曢獙缁撴灉")
+ private String testResult;
+
+ @ApiModelProperty("鍘熸潗鏂�")
+ private String rawMaterial;
+
+ @ApiModelProperty("杩囩▼妫�")
+ private String processInspection;
+
+ @ApiModelProperty("鎴愬搧妫�")
+ private String finalInspection;
+
+ @ApiModelProperty("璇曢獙鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private LocalDate testDate;
+
+ @ApiModelProperty("鏉ユ簮绯荤粺")
+ private String sourceSystem;
+
+ @ApiModelProperty("鍚屾鎵规鍙�")
+ private String syncBatchNo;
+
+ @ApiModelProperty("鍚屾鐘舵��")
+ private Integer syncStatus;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("鍒涘缓浜�")
+ private String createBy;
+
+ @ApiModelProperty("淇敼浜�")
+ private String updateBy;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/EipCableService.java b/basic-server/src/main/java/com/ruoyi/basic/service/EipCableService.java
new file mode 100644
index 0000000..d44e118
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/EipCableService.java
@@ -0,0 +1,15 @@
+package com.ruoyi.basic.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.basic.dto.EipCableQueryDto;
+import com.ruoyi.basic.pojo.EipCableTestData;
+
+/**
+ * EIP 绾跨紗瀵规帴 Service
+ */
+public interface EipCableService {
+
+ IPage<EipCableTestData> pageByCableType(long pageNum, long pageSize, String cableType, EipCableQueryDto query);
+
+ int syncCableData(String cableType);
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/EipCableServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/EipCableServiceImpl.java
new file mode 100644
index 0000000..f63a81e
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/EipCableServiceImpl.java
@@ -0,0 +1,118 @@
+package com.ruoyi.basic.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.constant.EipCableTypeConstants;
+import com.ruoyi.basic.dto.EipCableQueryDto;
+import com.ruoyi.basic.mapper.EipCableTestDataMapper;
+import com.ruoyi.basic.pojo.EipCableTestData;
+import com.ruoyi.basic.service.EipCableService;
+import com.ruoyi.common.utils.SecurityUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * EIP 绾跨紗瀵规帴 Service 瀹炵幇
+ */
+@Service
+public class EipCableServiceImpl implements EipCableService {
+
+ @Resource
+ private EipCableTestDataMapper eipCableTestDataMapper;
+
+ @Override
+ public IPage<EipCableTestData> pageByCableType(long pageNum, long pageSize, String cableType, EipCableQueryDto query) {
+ validateCableType(cableType);
+ Page<EipCableTestData> page = new Page<>(pageNum, pageSize);
+ LambdaQueryWrapper<EipCableTestData> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(EipCableTestData::getCableType, cableType)
+ .like(query.getSampleCode() != null && !query.getSampleCode().trim().isEmpty(),
+ EipCableTestData::getSampleCode, query.getSampleCode())
+ .like(query.getTestType() != null && !query.getTestType().trim().isEmpty(),
+ EipCableTestData::getTestType, query.getTestType())
+ .eq(query.getTestDate() != null, EipCableTestData::getTestDate, query.getTestDate())
+ .orderByDesc(EipCableTestData::getTestDate)
+ .orderByDesc(EipCableTestData::getId);
+ return eipCableTestDataMapper.selectPage(page, wrapper);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int syncCableData(String cableType) {
+ validateCableType(cableType);
+ String username = resolveUsername();
+ LocalDateTime now = LocalDateTime.now();
+ String batchNo = "EIP" + now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
+ List<EipCableTestData> dataList = buildDemoData(cableType, batchNo, username, now);
+ int count = 0;
+ for (EipCableTestData data : dataList) {
+ count += eipCableTestDataMapper.insert(data);
+ }
+ return count;
+ }
+
+ private List<EipCableTestData> buildDemoData(String cableType, String batchNo, String username, LocalDateTime now) {
+ String cableTypeName = EipCableTypeConstants.getTypeName(cableType);
+ List<EipCableTestData> list = new ArrayList<>();
+ list.add(buildData(cableType, cableTypeName, batchNo, username, now, 1,
+ "鍘熸潗鏂欏浣撶數闃昏瘯楠�", "鍚堟牸", "閾滃浣撳師鏉愭枡鎵规A", "瀵间綋缁炲悎杩囩▼鎶芥", "鎴愬搧鍑哄巶渚嬭妫�楠�"));
+ list.add(buildData(cableType, cableTypeName, batchNo, username, now, 2,
+ "鍘熸潗鏂欑粷缂樺帤搴︽娴�", "鍚堟牸", "缁濈紭鏂欐壒娆", "缁濈紭鎸ゅ嚭杩囩▼鎶芥", "鎴愬搧鑰愬帇妫�楠�"));
+ list.add(buildData(cableType, cableTypeName, batchNo, username, now, 3,
+ "杩囩▼鑰愬帇璇曢獙", "鍚堟牸", "鎶ゅ鏂欐壒娆", "鎴愮紗杩囩▼宸℃", "鎴愬搧缁撴瀯灏哄妫�楠�"));
+ list.add(buildData(cableType, cableTypeName, batchNo, username, now, 4,
+ "鑰佸寲鎬ц兘璇曢獙", "鍚堟牸", "灞忚斀鏉愭枡鎵规D", "鐏姳璇曢獙杩囩▼妫�", "鎴愬搧鑰佸寲鎬ц兘妫�楠�"));
+ list.add(buildData(cableType, cableTypeName, batchNo, username, now, 5,
+ "鎴愬搧渚嬭璇曢獙", "鍚堟牸", "杈呮潗鎵规E", "鍖呰鍓嶇粓妫�", "鎴愬搧渚嬭鏀捐妫�楠�"));
+ return list;
+ }
+
+ private EipCableTestData buildData(String cableType, String cableTypeName, String batchNo, String username,
+ LocalDateTime now, int index, String testType, String testResult,
+ String rawMaterial, String processInspection, String finalInspection) {
+ EipCableTestData data = new EipCableTestData();
+ data.setCableType(cableType);
+ data.setCableTypeName(cableTypeName);
+ data.setSampleCode(cableType.toUpperCase() + "-" + now.format(DateTimeFormatter.ofPattern("yyyyMMdd")) + "-" + index);
+ data.setProductName(cableTypeName + "鏍峰搧" + index);
+ data.setSpecModel("ZC-" + (10 + index) + "kV-" + index + "*120");
+ data.setTestType(testType);
+ data.setTestResult(testResult);
+ data.setRawMaterial(rawMaterial);
+ data.setProcessInspection(processInspection);
+ data.setFinalInspection(finalInspection);
+ data.setTestDate(LocalDate.now().minusDays(index - 1L));
+ data.setSourceSystem("鍥界綉绾跨紗绫荤墿鑱旇瘯楠屽钩鍙�(妯℃嫙)");
+ data.setSyncBatchNo(batchNo);
+ data.setSyncStatus(1);
+ data.setRemark("妯℃嫙鍚屾鏁版嵁锛岀敤浜庡墠绔仈璋�");
+ data.setCreateBy(username);
+ data.setUpdateBy(username);
+ data.setCreateTime(now);
+ data.setUpdateTime(now);
+ return data;
+ }
+
+ private void validateCableType(String cableType) {
+ if (!EipCableTypeConstants.allTypes().contains(cableType)) {
+ throw new RuntimeException("涓嶆敮鎸佺殑绾跨紗绫诲瀷: " + cableType);
+ }
+ }
+
+ private String resolveUsername() {
+ try {
+ String username = SecurityUtils.getUsername();
+ return username == null || username.trim().isEmpty() ? "system" : username;
+ } catch (Exception e) {
+ return "system";
+ }
+ }
+}
--
Gitblit v1.9.3