|
|
|
@@ -0,0 +1,42 @@ |
|
|
|
package com.ffii.fpsms.modules.settings.web |
|
|
|
|
|
|
|
import com.ffii.core.exception.NotFoundException |
|
|
|
import com.ffii.fpsms.modules.settings.entity.BomWeightingScore |
|
|
|
import com.ffii.fpsms.modules.settings.entity.BomWeightingScoreRepository |
|
|
|
import jakarta.validation.Valid |
|
|
|
import org.springframework.web.bind.annotation.* |
|
|
|
import java.math.BigDecimal |
|
|
|
|
|
|
|
@RestController |
|
|
|
@RequestMapping("/bomWeightingScores") |
|
|
|
class BomWeightingScoreController( |
|
|
|
private val bomWeightingScoreRepository: BomWeightingScoreRepository |
|
|
|
) { |
|
|
|
@GetMapping |
|
|
|
fun getAllBomWeightingScores(): List<BomWeightingScore> { |
|
|
|
return bomWeightingScoreRepository.findAll().filter { !it.deleted } |
|
|
|
} |
|
|
|
|
|
|
|
@PutMapping("/{id}") |
|
|
|
fun updateBomWeightingScore( |
|
|
|
@PathVariable id: Long, |
|
|
|
@Valid @RequestBody request: UpdateBomWeightingScoreRequest |
|
|
|
): BomWeightingScore { |
|
|
|
val entity = bomWeightingScoreRepository.findById(id) |
|
|
|
.orElseThrow { NotFoundException() } |
|
|
|
|
|
|
|
entity.name = request.name |
|
|
|
entity.range = request.range |
|
|
|
entity.weighting = BigDecimal(request.weighting) |
|
|
|
entity.remarks = request.remarks |
|
|
|
|
|
|
|
return bomWeightingScoreRepository.save(entity) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
data class UpdateBomWeightingScoreRequest( |
|
|
|
val name: String, |
|
|
|
val range: Int, |
|
|
|
val weighting: Double, |
|
|
|
val remarks: String? = null |
|
|
|
) |