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')")