From d042bf46c8e91775607149d621047be16ea5d58a Mon Sep 17 00:00:00 2001 From: chiguyong Date: Tue, 24 Mar 2026 00:37:41 +0800 Subject: [PATCH] feat: add spare part management repositories --- .../SparePartCategoryRepository.java | 15 +++++++++++++ .../repository/SparePartRecordRepository.java | 15 +++++++++++++ .../mdm/repository/SparePartRepository.java | 21 +++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartCategoryRepository.java create mode 100644 module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRecordRepository.java create mode 100644 module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRepository.java diff --git a/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartCategoryRepository.java b/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartCategoryRepository.java new file mode 100644 index 0000000..3cacd91 --- /dev/null +++ b/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartCategoryRepository.java @@ -0,0 +1,15 @@ +package com.ether.pms.mdm.repository; + +import com.ether.pms.mdm.entity.SparePartCategory; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +@Repository +public interface SparePartCategoryRepository extends JpaRepository { + List findByParentIdIsNull(); + List findByParentId(UUID parentId); + Optional findByCategoryCode(String categoryCode); +} \ No newline at end of file diff --git a/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRecordRepository.java b/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRecordRepository.java new file mode 100644 index 0000000..90f3f31 --- /dev/null +++ b/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRecordRepository.java @@ -0,0 +1,15 @@ +package com.ether.pms.mdm.repository; + +import com.ether.pms.mdm.entity.SparePartRecord; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +@Repository +public interface SparePartRecordRepository extends JpaRepository { + List findBySparePartIdOrderByRecordDateDesc(UUID sparePartId); + Optional findTopBySparePartIdOrderByRecordDateDesc(UUID sparePartId); + List findByRelatedOrderId(UUID relatedOrderId); +} \ No newline at end of file diff --git a/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRepository.java b/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRepository.java new file mode 100644 index 0000000..beee68b --- /dev/null +++ b/module-mdm/src/main/java/com/ether/pms/mdm/repository/SparePartRepository.java @@ -0,0 +1,21 @@ +package com.ether.pms.mdm.repository; + +import com.ether.pms.mdm.entity.SparePart; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +@Repository +public interface SparePartRepository extends JpaRepository { + List findByProjectIdAndStatus(UUID projectId, SparePart.Status status); + List findByCategoryId(UUID categoryId); + Optional findBySparePartCode(String sparePartCode); + boolean existsBySparePartCode(String sparePartCode); + + @Query("SELECT s FROM SparePart s WHERE s.projectId = :projectId AND s.currentStock <= s.safeStock") + List findLowStockParts(@Param("projectId") UUID projectId); +} \ No newline at end of file