Ver código fonte

[production schedule] po -> do

master
cyril.tsui 2 meses atrás
pai
commit
4c1d9d26d3
2 arquivos alterados com 13 adições e 14 exclusões
  1. +12
    -13
      src/main/java/com/ffii/fpsms/modules/master/service/ItemsService.kt
  2. +1
    -1
      src/main/java/com/ffii/fpsms/modules/master/web/ProductionScheduleController.kt

+ 12
- 13
src/main/java/com/ffii/fpsms/modules/master/service/ItemsService.kt Ver arquivo

@@ -49,22 +49,21 @@ open class ItemsService(

val sql = StringBuilder(
" SELECT "
+ " pol.itemId, "
+ " dol.itemId, "
+ " i.name AS itemName, "
+ " pol.itemNo, "
+ " dol.itemNo, "
+ " 0 AS openBalance, "
+ " COUNT(DISTINCT pol.purchaseOrderId) AS orderCount, "
+ " SUM(IFNULL(pol.qty, 0)) AS totalQty, "
+ " SUM(IFNULL(pol.qty, 0)) / COUNT(DISTINCT pol.purchaseOrderId) AS lastMonthAvgSalesCount, "
+ " COUNT(DISTINCT dol.deliveryOrderId) AS orderCount, "
+ " SUM(IFNULL(dol.qty, 0)) AS totalQty, "
+ " SUM(IFNULL(dol.qty, 0)) / COUNT(DISTINCT dol.deliveryOrderId) AS lastMonthAvgSalesCount, "
+ " 22000 - IFNULL(i.maxQty , 0) AS fgProductionLimit "
+ " FROM purchase_order po "
+ " LEFT JOIN purchase_order_line pol ON pol.purchaseOrderId = po.id "
+ " LEFT JOIN items i ON i.id = pol.itemId "
+ " WHERE po.deleted = false "
+ " AND po.estimatedArrivalDate >= :lastMonthStart "
+ " AND po.estimatedArrivalDate <= :lastMonthEnd "
+ " AND po.`type` LIKE \"shop\" "
+ " GROUP BY pol.itemId, pol.itemNo, i.name "
+ " FROM delivery_order do "
+ " LEFT JOIN delivery_order_line dol ON dol.deliveryOrderId = do.id "
+ " LEFT JOIN items i ON i.id = dol.itemId "
+ " WHERE do.deleted = false "
+ " AND do.estimatedArrivalDate >= :lastMonthStart "
+ " AND do.estimatedArrivalDate <= :lastMonthEnd "
+ " GROUP BY dol.itemId, dol.itemNo, i.name "
);
return jdbcDao.queryForList(sql.toString(), args);
}


+ 1
- 1
src/main/java/com/ffii/fpsms/modules/master/web/ProductionScheduleController.kt Ver arquivo

@@ -28,7 +28,7 @@ class ProductionScheduleController(
fun generateDetailSchedule(request: HttpServletRequest?): Int {
try {
//TODO: update this to receive selectedDate and assignDate from schedule
productionScheduleService.generateDetailedScheduleByDay(1, LocalDateTime.of(2025,6,19,0,0,0))
productionScheduleService.generateDetailedScheduleByDay(1, LocalDateTime.of(2025,6,25,0,0,0))
return 200
} catch (e: Exception) {
throw RuntimeException("Error generate schedule: ${e.message}", e)


Carregando…
Cancelar
Salvar