add expense and up kotlin

This commit is contained in:
gowthaman
2024-05-23 19:24:30 +05:30
parent 470893165a
commit 0de3eb7142
4 changed files with 45 additions and 18 deletions

View File

@@ -11,6 +11,7 @@ import com.restapi.domain.Session.findDataModelByEntityAndUniqId
import com.restapi.integ.Scripting
import io.javalin.http.BadRequestResponse
import io.javalin.http.Context
import io.javalin.http.HttpStatus
import io.javalin.http.bodyAsClass
import org.slf4j.LoggerFactory
import java.time.LocalDate
@@ -84,6 +85,7 @@ class QueryParamDeSerializer : JsonDeserializer<QueryParam>() {
object Entities {
private val logger = LoggerFactory.getLogger("Entities")
private val OK = mapOf("status" to true)
fun delete(ctx: Context) {
val e = database.findDataModelByEntityAndUniqId(ctx.pathParam("entity"), ctx.pathParam("id"))
e.deletedBy = Session.currentUser()
@@ -116,6 +118,7 @@ object Entities {
e.data.putAll(newData)
e.update()
ctx.json(OK)
}
private fun verifyKeys(newData: Map<String, Any>) {
@@ -152,6 +155,30 @@ object Entities {
}
fun getNextSeqNo(ctx: Context) {
val entity = ctx.pathParam("entity").uppercase()
val prefix = "$entity/"
val plantId = ctx.queryParam("plantId") ?: throw BadRequestResponse("plantId not sent")
val plant = database.find(Plant::class.java)
.where()
.eq("plantId", plantId)
.findOne() ?: throw BadRequestResponse("plant missing for $plantId")
val inventoryPrefix = plant.prefixes?.get(entity) ?: prefix
val cnt = (database.find(DataModel::class.java)
.where()
.eq("entityName", entity.lowercase())
.eq("data->>'plantId'", plantId)
.findCount() + 1)
.toString()
.padStart(6, '0')
val seq = SequenceNumber(inventoryPrefix + cnt)
ctx.json(seq).status(HttpStatus.OK)
}
fun view(it: Context) {
database.save(
AuditLog().apply {
@@ -264,6 +291,7 @@ object Entities {
this.data = dataModel.data
}
)
ctx.json(OK)
}
private fun isValidDate(f: String) = try {
@@ -290,7 +318,7 @@ object Entities {
data class SearchParams(
val params: Map<String, QueryParam> = mapOf(),
val dateRange: List<LocalDate> = emptyList()
val dateRange: List<LocalDate> = listOf(LocalDate.now().minusDays(7), LocalDate.now())
)
data class SequenceNumber(val number: String)