From 5f708178b260cabf081f9049cf51e9ad66ae2911 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 10 九月 2026 14:49:29 +0800
Subject: [PATCH] feat(erp/mes): 新增采购订单/销售订单/计量器具 Excel 导入,含导入菜单权限 SQL
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/metering/MesDvMeteringController.java | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/metering/MesDvMeteringController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/metering/MesDvMeteringController.java
index 531ccb3..259ea74 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/metering/MesDvMeteringController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/metering/MesDvMeteringController.java
@@ -11,6 +11,8 @@
import cn.iocoder.yudao.module.mes.controller.admin.dv.metering.vo.MesDvMeteringPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.dv.metering.vo.MesDvMeteringRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.dv.metering.vo.MesDvMeteringSaveReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.dv.metering.vo.MesDvMeteringImportExcelVO;
+import cn.iocoder.yudao.module.mes.controller.admin.dv.metering.vo.MesDvMeteringImportRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.dv.metering.MesDvMeteringDO;
import cn.iocoder.yudao.module.mes.enums.dv.MesDvMeteringExpireStatusEnum;
import cn.iocoder.yudao.module.mes.service.dv.metering.MesDvMeteringService;
@@ -27,10 +29,12 @@
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -108,6 +112,29 @@
buildMeteringRespVOList(list));
}
+ @GetMapping("/get-import-template")
+ @Operation(summary = "鑾峰緱璁¢噺鍣ㄥ叿瀵煎叆妯℃澘")
+ @PreAuthorize("@ss.hasPermission('mes:dv-metering:import')")
+ public void importTemplate(HttpServletResponse response) throws IOException {
+ List<MesDvMeteringImportExcelVO> list = Collections.singletonList(
+ MesDvMeteringImportExcelVO.builder()
+ .code("JL-001").name("绀轰緥娓告爣鍗″昂").category(1).specification("0-150mm")
+ .brand("绀轰緥鍝佺墝").precision("0.02mm").range("0-150mm")
+ .deptName("鐮斿彂閮ㄩ棬").chargeUserName("瓒呯骇绠$悊鍛�")
+ .checkCycleCount(12).useDate("2026-01-01").status(1).remark("绀轰緥鏁版嵁锛屽鍏ュ墠璇锋浛鎹�")
+ .build());
+ ExcelUtils.write(response, "璁¢噺鍣ㄥ叿瀵煎叆妯℃澘.xls", "璁¢噺鍣ㄥ叿", MesDvMeteringImportExcelVO.class, list);
+ }
+
+ @PostMapping("/import")
+ @Operation(summary = "瀵煎叆璁¢噺鍣ㄥ叿")
+ @PreAuthorize("@ss.hasPermission('mes:dv-metering:import')")
+ public CommonResult<MesDvMeteringImportRespVO> importMeteringExcel(
+ @RequestParam("file") MultipartFile file) throws Exception {
+ List<MesDvMeteringImportExcelVO> list = ExcelUtils.read(file, MesDvMeteringImportExcelVO.class);
+ return success(meteringService.importMeteringList(list));
+ }
+
@GetMapping("/simple-list")
@Operation(summary = "鑾峰緱璁¢噺鍣ㄥ叿绮剧畝鍒楄〃", description = "涓昏鐢ㄤ簬鍓嶇鐨勪笅鎷夐�夐」")
@PreAuthorize("@ss.hasPermission('mes:dv-metering:query')")
--
Gitblit v1.9.3