From 52b61fce22f188e37a88c20740e005ff109637a7 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期一, 17 八月 2026 15:02:27 +0800
Subject: [PATCH] dos: 新增表:mes_pro_task_pause_record

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/metering/MesDvMeteringService.java |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/metering/MesDvMeteringService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/metering/MesDvMeteringService.java
new file mode 100644
index 0000000..6104c6e
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/metering/MesDvMeteringService.java
@@ -0,0 +1,109 @@
+package cn.iocoder.yudao.module.mes.service.dv.metering;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.dv.metering.vo.MesDvMeteringPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.dv.metering.vo.MesDvMeteringSaveReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.dv.metering.MesDvMeteringDO;
+import jakarta.validation.Valid;
+
+import java.time.LocalDate;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
+
+/**
+ * MES 璁¢噺鍣ㄥ叿 Service 鎺ュ彛
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface MesDvMeteringService {
+
+    /**
+     * 鍒涘缓璁¢噺鍣ㄥ叿
+     *
+     * @param createReqVO 鍒涘缓淇℃伅
+     * @return 缂栧彿
+     */
+    Long createMetering(@Valid MesDvMeteringSaveReqVO createReqVO);
+
+    /**
+     * 鏇存柊璁¢噺鍣ㄥ叿
+     *
+     * @param updateReqVO 鏇存柊淇℃伅
+     */
+    void updateMetering(@Valid MesDvMeteringSaveReqVO updateReqVO);
+
+    /**
+     * 鍒犻櫎璁¢噺鍣ㄥ叿
+     *
+     * @param id 缂栧彿
+     */
+    void deleteMetering(Long id);
+
+    /**
+     * 鑾峰緱璁¢噺鍣ㄥ叿
+     *
+     * @param id 缂栧彿
+     * @return 璁¢噺鍣ㄥ叿
+     */
+    MesDvMeteringDO getMetering(Long id);
+
+    /**
+     * 鑾峰緱璁¢噺鍣ㄥ叿鍒嗛〉
+     *
+     * @param pageReqVO 鍒嗛〉鏌ヨ
+     * @return 璁¢噺鍣ㄥ叿鍒嗛〉
+     */
+    PageResult<MesDvMeteringDO> getMeteringPage(MesDvMeteringPageReqVO pageReqVO);
+
+    /**
+     * 鑾峰緱璁¢噺鍣ㄥ叿鍒楄〃
+     *
+     * @return 璁¢噺鍣ㄥ叿鍒楄〃
+     */
+    List<MesDvMeteringDO> getMeteringList();
+
+    /**
+     * 鑾峰緱璁¢噺鍣ㄥ叿鍒楄〃
+     *
+     * @param ids 缂栧彿鏁扮粍
+     * @return 璁¢噺鍣ㄥ叿鍒楄〃
+     */
+    List<MesDvMeteringDO> getMeteringList(Collection<Long> ids);
+
+    /**
+     * 鑾峰緱璁¢噺鍣ㄥ叿 Map
+     *
+     * @param ids 缂栧彿鏁扮粍
+     * @return 璁¢噺鍣ㄥ叿 Map
+     */
+    default Map<Long, MesDvMeteringDO> getMeteringMap(Collection<Long> ids) {
+        return convertMap(getMeteringList(ids), MesDvMeteringDO::getId);
+    }
+
+    /**
+     * 鏍¢獙璁¢噺鍣ㄥ叿瀛樺湪
+     *
+     * @param id 缂栧彿
+     */
+    void validateMeteringExists(Long id);
+
+    /**
+     * 鑾峰緱鍒版湡鎻愰啋澶╂暟锛堥粯璁� 30锛�
+     *
+     * @return 鎻愰啋澶╂暟
+     */
+    int getRemindDays();
+
+    /**
+     * 鍥炲啓璁¢噺鍣ㄥ叿鐨勬渶杩戞娴嬩俊鎭紙妫�娴嬭褰曟柊澧�/淇敼/鍒犻櫎鍚庤皟鐢級
+     *
+     * @param meteringId 璁¢噺鍣ㄥ叿缂栧彿
+     * @param lastCheckDate 鏈�杩戞娴嬫棩鏈燂紙鏃犲垯缃┖锛�
+     * @param nextCheckDate 涓嬫妫�娴嬫棩鏈燂紙鏃犲垯缃┖锛�
+     */
+    void updateMeteringCheckInfo(Long meteringId, LocalDate lastCheckDate, LocalDate nextCheckDate);
+
+}

--
Gitblit v1.9.3