package com.vincent.rsf.server.manager.mapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.util.List; import java.util.Map; /** * 开放 ASRS 查询(电视机等),SQL 与 gsl 视图统计语义对齐到本库表结构 */ @Mapper public interface OpenAsrsMapper { @Select("SELECT use_status AS st, COUNT(*) AS cnt FROM man_loc WHERE (deleted IS NULL OR deleted = 0) GROUP BY use_status") List> countLocGroupByUseStatus(); /** * 按日汇总已完成入/出库任务次数(与 gsl asr_sta_inout_view 折线图用途一致) */ @Select("SELECT DATE_FORMAT(COALESCE(end_time, update_time, create_time), '%Y-%m-%d') AS ymd, " + "SUM(CASE WHEN task_type IN (1,10,53,54,57) AND IFNULL(task_status,0) IN (98,99,100) THEN 1 ELSE 0 END) AS inqty, " + "SUM(CASE WHEN task_type IN (101,103,104,107,110) AND IFNULL(task_status,0) IN (198,199,200) THEN 1 ELSE 0 END) AS outqty " + "FROM man_task_log WHERE (deleted IS NULL OR deleted = 0) " + "AND COALESCE(end_time, update_time, create_time) >= DATE_SUB(CURDATE(), INTERVAL 14 DAY) " + "GROUP BY ymd ORDER BY ymd") List> aggregateInOutByDay(); }