|
|
@@ -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); |
|
|
|
} |
|
|
|