删除多余数据看板Vo

This commit is contained in:
2025-07-31 09:40:38 +08:00
parent b74c977c60
commit bee31ca5bc
8 changed files with 91 additions and 145 deletions

View File

@@ -14,43 +14,43 @@ import java.util.List;
* @date 2025-07-18
*/
public interface WmsProductMapper extends BaseMapperPlus<WmsProductMapper, WmsProduct, WmsProductVo> {
// 订单汇总
@Select("SELECT " +
"COUNT(*) AS totalOrderCount, " +
"SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END) AS finishedOrderCount, " +
"ROUND(SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END)/COUNT(*), 4) AS finishedRate, " +
"SUM(CASE WHEN order_status=2 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(NOW(), '%Y-%m') THEN 1 ELSE 0 END) AS monthFinishedOrderCount, " +
"ROUND(SUM(CASE WHEN order_status=2 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(NOW(), '%Y-%m') THEN 1 ELSE 0 END)/COUNT(*), 4) AS monthFinishedRate, " +
"(SELECT COUNT(*) FROM wms_order WHERE del_flag=0 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')) AS lastMonthTotalOrderCount, " +
"(SELECT SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END) FROM wms_order WHERE del_flag=0 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')) AS lastMonthFinishedOrderCount, " +
"(SELECT ROUND(SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END)/COUNT(*), 4) FROM wms_order WHERE del_flag=0 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')) AS lastMonthFinishedRate " +
"FROM wms_order WHERE del_flag=0")
OrderSummaryVO selectOrderSummary();
// 销售经理饼图
@Select("SELECT sales_manager, SUM(od.quantity) AS totalSales " +
"FROM wms_order o JOIN wms_order_detail od ON o.order_id = od.order_id " +
"WHERE o.order_status = 2 AND o.del_flag=0 GROUP BY o.sales_manager")
List<SalesManagerPieVO> selectSalesManagerPie();
// 产品销量排行
@Select("SELECT p.product_name, SUM(od.quantity) AS totalSales " +
"FROM wms_order_detail od JOIN wms_product p ON od.product_id = p.product_id " +
"GROUP BY p.product_name ORDER BY totalSales DESC LIMIT 10")
List<ProductRankVO> selectProductRank();
// 订单物料分析(只分析库存量和销售销量)
@Select("SELECT p.product_name AS materialName, SUM(od.quantity) AS usedCount, " +
"(SELECT IFNULL(SUM(quantity),0) FROM wms_stock s WHERE s.item_type='product' AND s.item_id = p.product_id AND s.del_flag=0) AS stockCount, " +
"0 AS purchaseCycle " +
"FROM wms_order_detail od JOIN wms_product p ON od.product_id = p.product_id " +
"GROUP BY p.product_id, p.product_name")
List<OrderMaterialVO> selectOrderMaterial();
// 客户分布热力图
@Select("SELECT o.customer_name AS region, COUNT(*) AS customerCount " +
"FROM wms_order o WHERE o.del_flag=0 GROUP BY o.customer_name")
List<CustomerRegionVO> selectCustomerRegion();
// // 订单汇总
// @Select("SELECT " +
// "COUNT(*) AS totalOrderCount, " +
// "SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END) AS finishedOrderCount, " +
// "ROUND(SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END)/COUNT(*), 4) AS finishedRate, " +
// "SUM(CASE WHEN order_status=2 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(NOW(), '%Y-%m') THEN 1 ELSE 0 END) AS monthFinishedOrderCount, " +
// "ROUND(SUM(CASE WHEN order_status=2 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(NOW(), '%Y-%m') THEN 1 ELSE 0 END)/COUNT(*), 4) AS monthFinishedRate, " +
// "(SELECT COUNT(*) FROM wms_order WHERE del_flag=0 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')) AS lastMonthTotalOrderCount, " +
// "(SELECT SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END) FROM wms_order WHERE del_flag=0 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')) AS lastMonthFinishedOrderCount, " +
// "(SELECT ROUND(SUM(CASE WHEN order_status=2 THEN 1 ELSE 0 END)/COUNT(*), 4) FROM wms_order WHERE del_flag=0 AND DATE_FORMAT(create_time, '%Y-%m')=DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')) AS lastMonthFinishedRate " +
// "FROM wms_order WHERE del_flag=0")
// OrderSummaryVO selectOrderSummary();
//
// // 销售经理饼图
// @Select("SELECT sales_manager, SUM(od.quantity) AS totalSales " +
// "FROM wms_order o JOIN wms_order_detail od ON o.order_id = od.order_id " +
// "WHERE o.order_status = 2 AND o.del_flag=0 GROUP BY o.sales_manager")
// List<SalesManagerPieVO> selectSalesManagerPie();
//
// // 产品销量排行
// @Select("SELECT p.product_name, SUM(od.quantity) AS totalSales " +
// "FROM wms_order_detail od JOIN wms_product p ON od.product_id = p.product_id " +
// "GROUP BY p.product_name ORDER BY totalSales DESC LIMIT 10")
// List<ProductRankVO> selectProductRank();
//
// // 订单物料分析(只分析库存量和销售销量)
// @Select("SELECT p.product_name AS materialName, SUM(od.quantity) AS usedCount, " +
// "(SELECT IFNULL(SUM(quantity),0) FROM wms_stock s WHERE s.item_type='product' AND s.item_id = p.product_id AND s.del_flag=0) AS stockCount, " +
// "0 AS purchaseCycle " +
// "FROM wms_order_detail od JOIN wms_product p ON od.product_id = p.product_id " +
// "GROUP BY p.product_id, p.product_name")
// List<OrderMaterialVO> selectOrderMaterial();
//
// // 客户分布热力图
// @Select("SELECT o.customer_name AS region, COUNT(*) AS customerCount " +
// "FROM wms_order o WHERE o.del_flag=0 GROUP BY o.customer_name")
// List<CustomerRegionVO> selectCustomerRegion();
// ========== 新增业务区域查询方法 ==========