package com.zioinfo.mes.workorder.mapper;

import com.zioinfo.mes.workorder.MesWorkOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface WorkOrderMapper {
    List<MesWorkOrder> findAll(@Param("status") String status,
                               @Param("itemCode") String itemCode,
                               @Param("keyword") String keyword);
    MesWorkOrder findById(@Param("id") Long id);
    MesWorkOrder findByNo(@Param("woNo") String woNo);
    int countByNo(@Param("woNo") String woNo);
    int insert(MesWorkOrder wo);
    int update(MesWorkOrder wo);
    int updateStatus(@Param("id") Long id, @Param("status") String status);
    int addProduced(@Param("id") Long id, @Param("qty") Double qty, @Param("defect") Double defect);
    int delete(@Param("id") Long id);

    /** 상태별 카운트(대시보드/칸반). */
    List<Map<String, Object>> countByStatus();
}
