package com.tofly.xrtygis.custom.service;

import com.tofly.xrtygis.custom.entity.dto.FixedDto;
import com.tofly.xrtygis.entity.Costcalcconfig;
import com.tofly.xrtygis.entity.Costnotes;
import com.tofly.xrtygis.entity.Costrlprice;
import com.tofly.xrtygis.entity.Costrlwater;
import org.springframework.web.multipart.MultipartFile;

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

public interface WaterMakingService {
    /**
     * 填报制水指标（可上传文件和备注）
     *
     * @param fileList    上传文件
     * @param costrlwater 制水指标
     * @param notes       备注说明
     * @return boolean
     */
    boolean insertWaterIndex(List<MultipartFile> fileList, Costrlwater costrlwater, String notes);

    /**
     * 查询备注信息
     *
     * @param waterId 制水指标id
     * @return Costnotes
     */
    Costnotes getNotesInfo(Long waterId);

    /**
     * 修改制水指标
     *
     * @param fileList    上传文件
     * @param costrlwater 制水指标
     * @param notes       备注
     * @return true of false
     */
    boolean updateWaterIndex(List<MultipartFile> fileList, Costrlwater costrlwater, String notes);

    /**
     * 填报实际单价
     *
     * @param costrlprice 实际单价
     * @return boolean
     */
    boolean insertPrice(Costrlprice costrlprice);

    /**
     * 修改实际单价
     *
     * @param costrlprice 实际单价
     * @return boolean
     */
    boolean updatePrice(Costrlprice costrlprice);

    /**
     * 模拟纠偏
     *
     * @param month 月份
     * @return list
     */
    Map<String, Object> simulationCorrection(String month, String code);

    /**
     * 获取计算配置信息
     *
     * @return Costcalcconfig
     */
    Costcalcconfig getInfo();

    /**
     * 处理单变
     *
     * @param dto dto
     * @return boolean
     */
    boolean insertFixed(FixedDto dto);

    /**
     * 修改单变
     *
     * @param dto dto
     * @return bollera
     */
    boolean updateFixed(FixedDto dto);

    boolean unifiedComputing(Date upDate);

}
