Przeglądaj źródła

update import stock take excel uom from sales to stock

add supervision approval log related for dashboard
master
MSI\derek 1 tydzień temu
rodzic
commit
64f465ccc7
8 zmienionych plików z 97 dodań i 5 usunięć
  1. +1
    -0
      src/main/java/com/ffii/fpsms/modules/master/entity/ItemUomRespository.kt
  2. +3
    -0
      src/main/java/com/ffii/fpsms/modules/master/service/ItemUomService.kt
  3. +1
    -1
      src/main/java/com/ffii/fpsms/modules/stock/entity/StockInLineRepository.kt
  4. +20
    -0
      src/main/java/com/ffii/fpsms/modules/stock/entity/SupervisionApprovalLogInfo.kt
  5. +4
    -1
      src/main/java/com/ffii/fpsms/modules/stock/entity/SupervisionApprovalLogRepository.kt
  6. +11
    -3
      src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt
  7. +38
    -0
      src/main/java/com/ffii/fpsms/modules/stock/service/SupervisionApprovalLogService.kt
  8. +19
    -0
      src/main/java/com/ffii/fpsms/modules/stock/web/SupervisionApprovalLogController.kt

+ 1
- 0
src/main/java/com/ffii/fpsms/modules/master/entity/ItemUomRespository.kt Wyświetl plik

@@ -18,6 +18,7 @@ interface ItemUomRespository : AbstractRepository<ItemUom, Long> {
fun findByItemIdAndPurchaseUnitIsTrueAndDeletedIsFalse(itemId: Serializable): ItemUom?

fun findByItemIdAndSalesUnitIsTrueAndDeletedIsFalse(itemId: Serializable): ItemUom?
fun findByItemIdAndStockUnitIsTrueAndDeletedIsFalse(itemId: Serializable): ItemUom?

fun findByItemM18IdAndPurchaseUnitIsTrueAndDeletedIsFalse(itemM18Id: Long): ItemUom?
fun findBaseUnitByItemIdAndStockUnitIsTrueAndDeletedIsFalse(itemId: Long): ItemUom?

+ 3
- 0
src/main/java/com/ffii/fpsms/modules/master/service/ItemUomService.kt Wyświetl plik

@@ -34,6 +34,9 @@ open class ItemUomService(
open fun findSalesUnitByItemId(itemId: Long): ItemUom? {
return itemUomRespository.findByItemIdAndSalesUnitIsTrueAndDeletedIsFalse(itemId)
}
open fun findStockUnitByItemId(itemId: Long): ItemUom? {
return itemUomRespository.findByItemIdAndStockUnitIsTrueAndDeletedIsFalse(itemId)
}

open fun findPurchaseUnitByM18ItemId(m18ItemId: Long): ItemUom? {
return itemUomRespository.findByItemM18IdAndPurchaseUnitIsTrueAndDeletedIsFalse(m18ItemId)


+ 1
- 1
src/main/java/com/ffii/fpsms/modules/stock/entity/StockInLineRepository.kt Wyświetl plik

@@ -8,9 +8,9 @@ import java.util.Optional

@Repository
interface StockInLineRepository : AbstractRepository<StockInLine, Long> {
fun findAllByStockInIdAndDeletedFalse(stockInId: Long): List<StockInLine>
fun findAllStockInLineInfoByStockInIdAndDeletedFalse(stockInId: Long): List<StockInLineInfo>
fun findStockInLineInfoByIdAndDeletedFalse(id: Long): StockInLineInfo
fun findAllByStockInIdAndDeletedFalse(stockInId: Long): List<StockInLine>
fun findStockInLineInfoByIdInAndDeletedFalse(id: List<Long>): List<StockInLineInfo>
fun findStockInLineInfoByPurchaseOrderLineIdAndStatusNotAndDeletedFalse(purchaseOrderLineId: Long, status: String): List<StockInLineInfo>
fun findStockInLineInfoByPurchaseOrderLineIdAndDeletedFalse(purchaseOrderLineId: Long): List<StockInLineInfo>


+ 20
- 0
src/main/java/com/ffii/fpsms/modules/stock/entity/SupervisionApprovalLogInfo.kt Wyświetl plik

@@ -0,0 +1,20 @@
package com.ffii.fpsms.modules.stock.entity

import org.springframework.beans.factory.annotation.Value

interface SupervisionApprovalLogInfo {
val id: Long
@get:Value("#{target.stockInLine?.stockIn.purchaseOrder.id}")
val poId: Long
@get:Value("#{target.stockInLine?.purchaseOrderLine.id}")
val polId: Long
@get:Value("#{target.stockInLine?.stockIn.code}")
val poCode: String
@get:Value("#{target.stockInLine?.id}")
val stockInLineId: Long
@get:Value("#{target.stockInLine?.item.name}")
val itemName: String
@get:Value("#{target.type}")
val escalationLevel: String
val reason: String
}

+ 4
- 1
src/main/java/com/ffii/fpsms/modules/stock/entity/SupervisionApprovalLogRepository.kt Wyświetl plik

@@ -1,8 +1,11 @@
package com.ffii.fpsms.modules.stock.entity

import com.ffii.core.support.AbstractRepository
import com.ffii.fpsms.modules.user.entity.User
import org.springframework.stereotype.Repository

@Repository
interface SupervisionApprovalLogRepository : AbstractRepository<SupervisionApprovalLog, Long> {
interface SupervisionApprovalLogRepository: AbstractRepository<SupervisionApprovalLog, Long> {
// fun findAllByPersonInCharge(personInCharge: Long): List<SupervisionApprovalLog>
fun findAllInfoByDeletedFalse(): List<SupervisionApprovalLogInfo>
}

+ 11
- 3
src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt Wyświetl plik

@@ -243,13 +243,15 @@ open class InventoryService(
)
requestList.add(request)
val item = itemsRepository.findByCodeAndDeletedFalse(request.itemCode)

val salesUnit = itemUomService.findSalesUnitByItemId(itemId = item!!.id!!)!!.uom
val stockUnit = itemUomService.findStockUnitByItemId(itemId = item.id!!)!!.uom
// purchase order line
val purchaseOrderLine = PurchaseOrderLine()
.apply {
this.item = item
this.itemNo = item.code
this.uom = salesUnit
this.uom = stockUnit
this.purchaseOrder = po
this.price = BigDecimal.ZERO
this.status = PurchaseOrderLineStatus.COMPLETED
@@ -301,13 +303,19 @@ open class InventoryService(
val inventoryLotLineEntries = requestList.mapIndexed { index, request ->
val inventoryLot = savedInventoryLotEntries[index]
val warehouse = warehouseRepository.findAll().find { it.code == request.warehouseCode }!!
val salesUnit = itemUomService.findSalesUnitByItemId(itemId = inventoryLot.item!!.id!!)
// val salesUnit = itemUomService.findSalesUnitByItemId(itemId = inventoryLot.item!!.id!!)
val stockUnit = itemUomService.findStockUnitByItemId(itemId = inventoryLot.item!!.id!!)
// val zero = BigDecimal.ZERO
// val one = BigDecimal.ONE
// val ratio = (salesUnit?.ratioN ?: zero).divide(salesUnit?.ratioD ?: one)

InventoryLotLine().apply {
this.inventoryLot = inventoryLot
this.warehouse = warehouse
this.inQty = request.qty
this.status = InventoryLotLineStatus.AVAILABLE
this.stockUom = salesUnit
this.stockUom = stockUnit
// this.stockUom = salesUnit
}
}
val savedInventoryLotLine = inventoryLotLineRepository.saveAllAndFlush(inventoryLotLineEntries)


+ 38
- 0
src/main/java/com/ffii/fpsms/modules/stock/service/SupervisionApprovalLogService.kt Wyświetl plik

@@ -0,0 +1,38 @@
package com.ffii.fpsms.modules.stock.service

import com.ffii.core.support.AbstractBaseEntityService
import com.ffii.core.support.JdbcDao
import com.ffii.fpsms.modules.common.SecurityUtils
import com.ffii.fpsms.modules.stock.entity.SupervisionApprovalLog
import com.ffii.fpsms.modules.stock.entity.SupervisionApprovalLogInfo
import com.ffii.fpsms.modules.stock.entity.SupervisionApprovalLogRepository
import org.springframework.stereotype.Service

@Service
open class SupervisionApprovalLogService(
private val jdbcDao: JdbcDao,
private val supervisionApprovalLogRepository: SupervisionApprovalLogRepository
): AbstractBaseEntityService<SupervisionApprovalLog, Long, SupervisionApprovalLogRepository>(jdbcDao, supervisionApprovalLogRepository) {
open fun getAllLogs(): List<SupervisionApprovalLog> {
return supervisionApprovalLogRepository.findAll()
}

open fun getStockInLog(): List<SupervisionApprovalLog> {
val stockInLog = getAllLogs().filter {
it.stockInLine != null
}
return stockInLog
}
open fun getLogByUser(): List<SupervisionApprovalLogInfo> {
val user = SecurityUtils.getUser().orElseThrow()
val filterLog = supervisionApprovalLogRepository
.findAllInfoByDeletedFalse()
// .findAll()
// .findAllByPersonInCharge(user.id!!).filter {
// it.stockInLine != null
// }
println("filterLog")
println(filterLog)
return filterLog
}
}

+ 19
- 0
src/main/java/com/ffii/fpsms/modules/stock/web/SupervisionApprovalLogController.kt Wyświetl plik

@@ -0,0 +1,19 @@
package com.ffii.fpsms.modules.stock.web

import com.ffii.fpsms.modules.stock.entity.SupervisionApprovalLog
import com.ffii.fpsms.modules.stock.entity.SupervisionApprovalLogInfo
import com.ffii.fpsms.modules.stock.service.SupervisionApprovalLogService
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

@RestController
@RequestMapping("/supervisionApprovalLog")
class SupervisionApprovalLogController(
private val supervisionApprovalLogService: SupervisionApprovalLogService
) {
@GetMapping("/stock-in")
fun getStockInQcLog(): List<SupervisionApprovalLogInfo> {
return supervisionApprovalLogService.getLogByUser()
}
}

Ładowanie…
Anuluj
Zapisz