package com.openhis.administration.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.administration.domain.ChargeItemDefDetail;

/**
 * 费用定价管理子Service接口
 *
 * @author system
 * @date 2025-02-20
 */
public interface IChargeItemDefDetailService extends IService<ChargeItemDefDetail> {

    /**
     * 更新项目定价
     * 
     * @param chargeItemDefDetail 更新内容
     * @return 更新结果
     */
    boolean updateChargeItemDefApp(ChargeItemDefDetail chargeItemDefDetail);

    /**
     * 新增费用定价
     *
     * @param chargeItemDefDetail 新增内容
     * @return 新增结果
     */
    boolean addChargeItemDefApp(ChargeItemDefDetail chargeItemDefDetail);

    /**
     * 删除费用定价
     *
     * @param id 费用定价id
     * @return 新增结果
     */
    boolean deleteChargeItemDefApp(Long id);

    /**
     * Desc: 根据主表ID 数组加载 价格子表
     * 
     * @param chargeItemId
     * @Author raymond
     * @Date 22:56 2025/10/18
     * @return java.util.List<com.openhis.administration.domain.ChargeItemDefDetail>
     **/
    List<ChargeItemDefDetail> searchChargeItemDefDetailByIds(Long chargeItemId,String code,String lotNumber);

    /**
     * Desc: 根据 参数加载数据
     * 
     * @param value
     * @param code
     * @Author raymond
     * @Date 08:13 2025/10/29
     * @return java.util.List<com.openhis.administration.domain.ChargeItemDefDetail>
     **/
    List<ChargeItemDefDetail> searchChargeDetailDataByBusNo(String value, String code);

    /**
     * 根据定价id查询批号售价
     *
     * @param chargeItemDefIdList 定价ids
     * @return 批号售价信息
     */
    List<ChargeItemDefDetail> getLotNumberPriceByDefIds(List<Long> chargeItemDefIdList);
}