feat: add spare part management repositories

This commit is contained in:
chiguyong 2026-03-24 00:37:41 +08:00
parent 457bafee31
commit d042bf46c8
3 changed files with 51 additions and 0 deletions

View File

@ -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<SparePartCategory, UUID> {
List<SparePartCategory> findByParentIdIsNull();
List<SparePartCategory> findByParentId(UUID parentId);
Optional<SparePartCategory> findByCategoryCode(String categoryCode);
}

View File

@ -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<SparePartRecord, UUID> {
List<SparePartRecord> findBySparePartIdOrderByRecordDateDesc(UUID sparePartId);
Optional<SparePartRecord> findTopBySparePartIdOrderByRecordDateDesc(UUID sparePartId);
List<SparePartRecord> findByRelatedOrderId(UUID relatedOrderId);
}

View File

@ -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<SparePart, UUID> {
List<SparePart> findByProjectIdAndStatus(UUID projectId, SparePart.Status status);
List<SparePart> findByCategoryId(UUID categoryId);
Optional<SparePart> findBySparePartCode(String sparePartCode);
boolean existsBySparePartCode(String sparePartCode);
@Query("SELECT s FROM SparePart s WHERE s.projectId = :projectId AND s.currentStock <= s.safeStock")
List<SparePart> findLowStockParts(@Param("projectId") UUID projectId);
}