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