package com.bonus.material.clz.service;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.basic.domain.BmProject;
import com.bonus.material.clz.domain.vo.MaterialSltAgreementInfo;
import com.bonus.material.clz.domain.vo.sltAgreementInfo.MaterialSltInfoVo;
import com.bonus.material.common.domain.dto.SelectDto;

import java.util.List;

/**
 * @Author ma_sh
 * @create 2025/6/27 15:20
 */
public interface ClzSltAgreementInfoService {

    /**
     * 根据条件获取协议结算列表
     * @param bean
     * @return
     */
    List<MaterialSltAgreementInfo> getSltAgreementInfo4Project(MaterialSltAgreementInfo bean);

    /**
     * 获取结算清单
     * @param info
     * @return
     */
    MaterialSltInfoVo getSltInfo(MaterialSltAgreementInfo info);

    MaterialSltInfoVo mergerData(MaterialSltInfoVo vo, List<MaterialSltInfoVo> list, List<String> unitNames, List<String> projectNames);

    String handleData(List<String> list);

    /**
     * 工程下拉框
     *
     * @param bmProject 工程下拉框
     * @return 工程下拉框
     */
    AjaxResult getProjectListByUnitIds(BmProject bmProject);

    AjaxResult getAgreementInfoById(SelectDto dto);


    /**
     * 提交结算清单
     * @param sltInfoVo
     * @return
     */
    int submitCosts(MaterialSltInfoVo sltInfoVo);
}
