From 4c1d9d26d3dbca1b2f703e425f3a505185064aa7 Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Wed, 25 Jun 2025 15:06:33 +0800 Subject: [PATCH] [production schedule] po -> do --- .../modules/master/service/ItemsService.kt | 25 +++++++++---------- .../web/ProductionScheduleController.kt | 2 +- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/master/service/ItemsService.kt b/src/main/java/com/ffii/fpsms/modules/master/service/ItemsService.kt index 9f73316..e01a97d 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/service/ItemsService.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/service/ItemsService.kt @@ -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); } diff --git a/src/main/java/com/ffii/fpsms/modules/master/web/ProductionScheduleController.kt b/src/main/java/com/ffii/fpsms/modules/master/web/ProductionScheduleController.kt index 5dd85f8..d558b17 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/web/ProductionScheduleController.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/web/ProductionScheduleController.kt @@ -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)